Skip to content

Commit

Permalink
Merge branch 'master' into AnuradhaSK-patch-3
Browse files Browse the repository at this point in the history
  • Loading branch information
AnuradhaSK authored Oct 25, 2023
2 parents bcba842 + 0001eda commit aa72c11
Show file tree
Hide file tree
Showing 9 changed files with 383 additions and 89 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,6 @@ public class OAuthAppsWithSameClientIdTestCase extends OAuth2ServiceAbstractInte
private SCIM2RestClient scim2RestClientTenant2;
private HttpClient client;

private boolean configurationsRestored = false;
private String tenant1UserId = null;
private String tenant2UserId = null;
private String sessionDataKey;
Expand All @@ -121,10 +120,6 @@ private void testInit() throws Exception {

super.init();
serverConfigurationManager = new ServerConfigurationManager(isServer);

// Enable tenant qualified urls/ tenanted sessions and restart the server.
changeISConfigurations();

tenantMgtRestClient = new TenantMgtRestClient(serverURL, tenantInfo);

// Create the test tenants.
Expand Down Expand Up @@ -159,7 +154,7 @@ private void testInit() throws Exception {
@AfterClass(alwaysRun = true)
public void testClear() throws IOException, AutomationUtilException {

restoreISConfigurations();
serverConfigurationManager.restoreToLastConfiguration(true);
tenantMgtRestClient.closeHttpClient();
oAuth2RestClientTenant1.closeHttpClient();
oAuth2RestClientTenant2.closeHttpClient();
Expand Down Expand Up @@ -388,8 +383,8 @@ public void testOAuthApplicationLoginIncorrectTenant() throws Exception {
dependsOnMethods = "testOAuthApplicationLoginIncorrectTenant")
public void testOAuthApplicationLoginWhenTenantQualifiedUrlsDisabled() throws Exception {

// Restore the server back to the initial state (tenant qualified urls disabled).
restoreISConfigurations();
// Disable tenant qualified urls/ tenanted sessions and restart the server.
changeISConfigurations();

// Create oauth app and add user.
ApplicationResponseModel tenant1App = createApplication(TENANT_1_DOMAIN);
Expand All @@ -411,22 +406,8 @@ private void changeISConfigurations() throws AutomationUtilException, IOExceptio
File defaultTomlFile = getDeploymentTomlFile(carbonHome);
File modifiedConfigFile = new File(getISResourceLocation()
+ File.separator + "tenant.qualified" + File.separator
+ "tenant_qualified_url_tenanted_sessions_enabled.toml");
serverConfigurationManager.applyConfiguration(modifiedConfigFile, defaultTomlFile, true, true);
}

private void restoreISConfigurations() throws AutomationUtilException, IOException {

if (configurationsRestored) {
return;
}
String carbonHome = Utils.getResidentCarbonHome();
File defaultTomlFile = getDeploymentTomlFile(carbonHome);
File modifiedConfigFile = new File(getISResourceLocation()
+ File.separator + "tenant.qualified" + File.separator
+ "tenant_qualified_url_tenanted_sessions_default.toml");
+ "tenant_qualified_url_tenanted_sessions_disabled.toml");
serverConfigurationManager.applyConfiguration(modifiedConfigFile, defaultTomlFile, true, true);
configurationsRestored = true;
}

private void addTenant(String tenantDomain, String adminUsername, String adminPassword,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,20 @@
/*
* Copyright (c) 2019, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
*
* Licensed 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.
*/
* Copyright (c) 2019-2023, 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;

Expand Down Expand Up @@ -66,6 +68,7 @@ public static AccessEnum fromValue(String value) {

private AccessEnum access = AccessEnum.READ;
private String self;
private AssociatedRolesConfig associatedRoles;

/**
**/
Expand Down Expand Up @@ -212,6 +215,28 @@ public void setClientId(String clientId) {
this.clientId = clientId;
}

/**
*
**/
public ApplicationListItem associatedRoles(AssociatedRolesConfig associatedRoles) {

this.associatedRoles = associatedRoles;
return this;
}

@ApiModelProperty(value = "")
@JsonProperty("associatedRoles")
@Valid
public AssociatedRolesConfig getAssociatedRoles() {

return associatedRoles;
}

public void setAssociatedRoles(AssociatedRolesConfig associatedRoles) {

this.associatedRoles = associatedRoles;
}

@Override
public boolean equals(java.lang.Object o) {

Expand All @@ -228,12 +253,14 @@ public boolean equals(java.lang.Object o) {
Objects.equals(this.image, applicationListItem.image) &&
Objects.equals(this.accessUrl, applicationListItem.accessUrl) &&
Objects.equals(this.access, applicationListItem.access) &&
Objects.equals(this.self, applicationListItem.self);
Objects.equals(this.self, applicationListItem.self) &&
Objects.equals(this.associatedRoles, applicationListItem.associatedRoles);
}

@Override
public int hashCode() {
return Objects.hash(id, name, description, image, accessUrl, access, self);

return Objects.hash(id, name, description, image, accessUrl, access, self, associatedRoles);
}

@Override
Expand All @@ -249,6 +276,7 @@ public String toString() {
sb.append(" accessUrl: ").append(toIndentedString(accessUrl)).append("\n");
sb.append(" access: ").append(toIndentedString(access)).append("\n");
sb.append(" self: ").append(toIndentedString(self)).append("\n");
sb.append(" associatedRoles: ").append(toIndentedString(associatedRoles)).append("\n");
sb.append("}");
return sb.toString();
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,8 @@ public class ApplicationResponseModel {
private String issuer;
private String templateId;
private Boolean isManagementApp;
private Boolean isB2BSelfServiceApp;
private AssociatedRolesConfig associatedRoles;
private ClaimConfiguration claimConfiguration;
private List<InboundProtocolListItem> inboundProtocols = null;
private AuthenticationSequence authenticationSequence;
Expand Down Expand Up @@ -245,6 +247,27 @@ public void setIsManagementApp(Boolean isManagementApp) {
this.isManagementApp = isManagementApp;
}

/**
*
**/
public ApplicationResponseModel associatedRoles(AssociatedRolesConfig associatedRoles) {

this.associatedRoles = associatedRoles;
return this;
}

@ApiModelProperty(value = "")
@JsonProperty("associatedRoles")
@Valid
public AssociatedRolesConfig getAssociatedRoles() {

return associatedRoles;
}

public void setAssociatedRoles(AssociatedRolesConfig associatedRoles) {

this.associatedRoles = associatedRoles;
}

/**
**/
Expand Down Expand Up @@ -398,13 +421,15 @@ public boolean equals(Object o) {
Objects.equals(this.authenticationSequence, applicationResponseModel.authenticationSequence) &&
Objects.equals(this.appRoleConfigurations, applicationResponseModel.appRoleConfigurations) &&
Objects.equals(this.advancedConfigurations, applicationResponseModel.advancedConfigurations) &&
Objects.equals(this.provisioningConfigurations, applicationResponseModel.provisioningConfigurations) &&
Objects.equals(this.access, applicationResponseModel.access);
Objects.equals(this.provisioningConfigurations, applicationResponseModel.provisioningConfigurations) && Objects.equals(this.access, applicationResponseModel.access) && Objects.equals(this.associatedRoles, applicationResponseModel.associatedRoles);
}

@Override
public int hashCode() {
return Objects.hash(id, name, description, imageUrl, accessUrl, clientId, issuer, templateId, isManagementApp, claimConfiguration, inboundProtocols, authenticationSequence, appRoleConfigurations, advancedConfigurations, provisioningConfigurations, access);

return Objects.hash(id, name, description, imageUrl, accessUrl, clientId, issuer, templateId, isManagementApp,
claimConfiguration, inboundProtocols, associatedRoles, authenticationSequence, appRoleConfigurations,
advancedConfigurations, provisioningConfigurations, access);
}

@Override
Expand All @@ -420,6 +445,7 @@ public String toString() {
" issuer: " + toIndentedString(issuer) + "\n" +
" templateId: " + toIndentedString(templateId) + "\n" +
" isManagementApp: " + toIndentedString(isManagementApp) + "\n" +
" associatedRoles: " + toIndentedString(associatedRoles) + "\n" +
" claimConfiguration: " + toIndentedString(claimConfiguration) + "\n" +
" inboundProtocols: " + toIndentedString(inboundProtocols) + "\n" +
" authenticationSequence: " + toIndentedString(authenticationSequence) + "\n" +
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
/*
* Copyright (c) 2023, 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;
import javax.validation.constraints.NotNull;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlEnumValue;
import javax.xml.bind.annotation.XmlType;

public class AssociatedRolesConfig {

@XmlType(name = "AllowedAudienceEnum")
@XmlEnum(String.class)
public enum AllowedAudienceEnum {

@XmlEnumValue("ORGANIZATION") ORGANIZATION(
String.valueOf("ORGANIZATION")), @XmlEnumValue("APPLICATION") APPLICATION(
String.valueOf("APPLICATION"));

private String value;

AllowedAudienceEnum(String v) {

value = v;
}

public String value() {

return value;
}

@Override
public String toString() {

return String.valueOf(value);
}

public static AllowedAudienceEnum fromValue(String value) {

for (AllowedAudienceEnum b : AllowedAudienceEnum.values()) {
if (b.value.equals(value)) {
return b;
}
}
throw new IllegalArgumentException("Unexpected value '" + value + "'");
}
}

private AllowedAudienceEnum allowedAudience = AllowedAudienceEnum.ORGANIZATION;
private List<Role> roles = null;

/**
*
**/
public AssociatedRolesConfig allowedAudience(AllowedAudienceEnum allowedAudience) {

this.allowedAudience = allowedAudience;
return this;
}

@ApiModelProperty(example = "ORGANIZATION", required = true, value = "")
@JsonProperty("allowedAudience")
@Valid
@NotNull(message = "Property allowedAudience cannot be null.")

public AllowedAudienceEnum getAllowedAudience() {

return allowedAudience;
}

public void setAllowedAudience(AllowedAudienceEnum allowedAudience) {

this.allowedAudience = allowedAudience;
}

/**
*
**/
public AssociatedRolesConfig roles(List<Role> roles) {

this.roles = roles;
return this;
}

@ApiModelProperty(value = "")
@JsonProperty("roles")
@Valid
public List<Role> getRoles() {

return roles;
}

public void setRoles(List<Role> roles) {

this.roles = roles;
}

public AssociatedRolesConfig addRolesItem(Role rolesItem) {

if (this.roles == null) {
this.roles = new ArrayList<>();
}
this.roles.add(rolesItem);
return this;
}

@Override
public boolean equals(java.lang.Object o) {

if (this == o) {
return true;
}
if (o == null || getClass() != o.getClass()) {
return false;
}
AssociatedRolesConfig associatedRolesConfig = (AssociatedRolesConfig) o;
return Objects.equals(this.allowedAudience, associatedRolesConfig.allowedAudience) &&
Objects.equals(this.roles, associatedRolesConfig.roles);
}

@Override
public int hashCode() {

return Objects.hash(allowedAudience, roles);
}

@Override
public String toString() {

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

sb.append(" allowedAudience: ").append(toIndentedString(allowedAudience)).append("\n");
sb.append(" roles: ").append(toIndentedString(roles)).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(java.lang.Object o) {

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

0 comments on commit aa72c11

Please sign in to comment.