Skip to content

Commit

Permalink
Fix test failure with switching token in OrganizationManagementSucces…
Browse files Browse the repository at this point in the history
…sTest
  • Loading branch information
dewniMW committed Jan 8, 2024
1 parent f0d8a53 commit 270522a
Show file tree
Hide file tree
Showing 4 changed files with 151 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
/*
* Copyright (c) 2024, WSO2 LLC. (http://www.wso2.com).
*
* WSO2 LLC. licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
* in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

package org.wso2.identity.integration.test.rest.api.server.application.management.v1.model;

import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModelProperty;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

import javax.validation.Valid;

public class ApplicationSharePOSTRequest {

private Boolean shareWithAllChildren = false;
private List<String> sharedOrganizations = null;


/**
**/
public ApplicationSharePOSTRequest shareWithAllChildren(Boolean shareWithAllChildren) {

this.shareWithAllChildren = shareWithAllChildren;
return this;
}

@ApiModelProperty(value = "")
@JsonProperty("shareWithAllChildren")
@Valid
public Boolean getShareWithAllChildren() {
return shareWithAllChildren;
}
public void setShareWithAllChildren(Boolean shareWithAllChildren) {
this.shareWithAllChildren = shareWithAllChildren;
}

/**
**/
public ApplicationSharePOSTRequest sharedOrganizations(List<String> sharedOrganizations) {

this.sharedOrganizations = sharedOrganizations;
return this;
}

@ApiModelProperty(value = "")
@JsonProperty("sharedOrganizations")
@Valid
public List<String> getSharedOrganizations() {
return sharedOrganizations;
}
public void setSharedOrganizations(List<String> sharedOrganizations) {
this.sharedOrganizations = sharedOrganizations;
}

public ApplicationSharePOSTRequest addSharedOrganizationsItem(String sharedOrganizationsItem) {
if (this.sharedOrganizations == null) {
this.sharedOrganizations = new ArrayList<>();
}
this.sharedOrganizations.add(sharedOrganizationsItem);
return this;
}



@Override
public boolean equals(Object o) {

if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
ApplicationSharePOSTRequest applicationSharePOSTRequest = (ApplicationSharePOSTRequest) o;
return Objects.equals(this.shareWithAllChildren, applicationSharePOSTRequest.shareWithAllChildren) &&
Objects.equals(this.sharedOrganizations, applicationSharePOSTRequest.sharedOrganizations);
}

@Override
public int hashCode() {
return Objects.hash(shareWithAllChildren, sharedOrganizations);
}

@Override
public String toString() {

StringBuilder sb = new StringBuilder();
sb.append("class ApplicationSharePOSTRequest {\n");

sb.append(" shareWithAllChildren: ").append(toIndentedString(shareWithAllChildren)).append("\n");
sb.append(" sharedOrganizations: ").append(toIndentedString(sharedOrganizations)).append("\n");
sb.append("}");
return sb.toString();
}

/**
* Convert the given object to string with each line indented by 4 spaces
* (except the first line).
*/
private String toIndentedString(Object o) {

if (o == null) {
return "null";
}
return o.toString().replace("\n", "\n");
}
}

Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,7 @@
import org.wso2.identity.integration.test.rest.api.server.application.management.v1.model.ApplicationListItem;
import org.wso2.identity.integration.test.rest.api.server.application.management.v1.model.ApplicationModel;
import org.wso2.identity.integration.test.rest.api.server.application.management.v1.model.ApplicationPatchModel;
import org.wso2.identity.integration.test.rest.api.server.application.management.v1.model.ApplicationSharePOSTRequest;
import org.wso2.identity.integration.test.rest.api.server.application.management.v1.model.AssociatedRolesConfig;
import org.wso2.identity.integration.test.rest.api.server.application.management.v1.model.InboundProtocols;
import org.wso2.identity.integration.test.rest.api.server.application.management.v1.model.OpenIDConnectConfiguration;
Expand Down Expand Up @@ -232,6 +233,11 @@ public void testGetOrganization() {
@Test(dependsOnMethods = "testSelfOnboardOrganization")
public void switchM2MToken() throws IOException, ParseException {

ApplicationSharePOSTRequest applicationSharePOSTRequest = new ApplicationSharePOSTRequest();
applicationSharePOSTRequest.setShareWithAllChildren(false);
applicationSharePOSTRequest.setSharedOrganizations(Collections.singletonList(organizationID));
oAuth2RestClient.shareApplication(selfServiceAppId, applicationSharePOSTRequest);

List<NameValuePair> urlParameters = new ArrayList<>();
urlParameters.add(new BasicNameValuePair(OAuth2Constant.GRANT_TYPE_NAME, "organization_switch_cc"));
urlParameters.add(new BasicNameValuePair("token", m2mToken));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import org.wso2.identity.integration.test.rest.api.server.application.management.v1.model.ApplicationModel;
import org.wso2.identity.integration.test.rest.api.server.application.management.v1.model.ApplicationPatchModel;
import org.wso2.identity.integration.test.rest.api.server.application.management.v1.model.ApplicationResponseModel;
import org.wso2.identity.integration.test.rest.api.server.application.management.v1.model.ApplicationSharePOSTRequest;
import org.wso2.identity.integration.test.rest.api.server.application.management.v1.model.AuthorizedAPICreationModel;
import org.wso2.identity.integration.test.rest.api.server.application.management.v1.model.OpenIDConnectConfiguration;
import org.wso2.identity.integration.test.rest.api.server.application.management.v1.model.SAML2ServiceProvider;
Expand Down Expand Up @@ -406,6 +407,24 @@ private String buildRoleSearchEndpoint(String roleName, String audienceType, Str
return filter.toString();
}

/**
* Share the application with the organizations.
*
* @param appId The application ID.
* @param applicationSharePOSTRequest The application sharing details.
* @throws IOException Error when sharing the application.
*/
public void shareApplication(String appId, ApplicationSharePOSTRequest applicationSharePOSTRequest) throws
IOException {

String jsonRequest = toJSONString(applicationSharePOSTRequest);
try (CloseableHttpResponse response = getResponseOfHttpPost(applicationManagementApiBasePath +
PATH_SEPARATOR + appId + PATH_SEPARATOR + "share", jsonRequest, getHeaders())) {
Assert.assertEquals(response.getStatusLine().getStatusCode(), HttpServletResponse.SC_OK,
"Application sharing failed");
}
}

/**
* Close the HTTP client
*/
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2360,7 +2360,7 @@
<!-- Identity REST API feature -->
<identity.api.dispatcher.version>2.0.13</identity.api.dispatcher.version>
<identity.user.api.version>1.3.30</identity.user.api.version>
<identity.server.api.version>1.2.148</identity.server.api.version>
<identity.server.api.version>1.2.151</identity.server.api.version>

<identity.agent.sso.version>5.5.9</identity.agent.sso.version>
<identity.tool.samlsso.validator.version>5.5.7</identity.tool.samlsso.validator.version>
Expand Down

0 comments on commit 270522a

Please sign in to comment.