|
12 | 12 | import static org.mockito.Mockito.times; |
13 | 13 | import static org.mockito.Mockito.verify; |
14 | 14 |
|
| 15 | +import org.mockito.ArgumentCaptor; |
| 16 | + |
15 | 17 | import com.descope.enums.TenantAuthType; |
16 | 18 | import com.descope.exception.RateLimitExceededException; |
17 | 19 | import com.descope.exception.ServerCommonException; |
@@ -120,7 +122,74 @@ void testUpdateForSuccess() { |
120 | 122 | mockedApiProxyBuilder.when( |
121 | 123 | () -> ApiProxyBuilder.buildProxy(any(), any())).thenReturn(apiProxy); |
122 | 124 | tenantService.update("someLoginId", "someName", selfProvisioningDomains, null); |
123 | | - verify(apiProxy, times(1)).post(any(), any(), any()); |
| 125 | + ArgumentCaptor<Tenant> captor = ArgumentCaptor.forClass(Tenant.class); |
| 126 | + verify(apiProxy, times(1)).post(any(), captor.capture(), any()); |
| 127 | + Tenant sent = captor.getValue(); |
| 128 | + assertThat(sent.getId()).isEqualTo("someLoginId"); |
| 129 | + assertThat(sent.getName()).isEqualTo("someName"); |
| 130 | + assertThat(sent.getSelfProvisioningDomains()).isEqualTo(selfProvisioningDomains); |
| 131 | + assertThat(sent.getCustomAttributes()).isNull(); |
| 132 | + assertThat(sent.getAuthType()).isNull(); |
| 133 | + assertThat(sent.getDisabled()).isNull(); |
| 134 | + assertThat(sent.getEnforceSSO()).isNull(); |
| 135 | + assertThat(sent.getEnforceSSOExclusions()).isNull(); |
| 136 | + assertThat(sent.getFederatedAppIds()).isNull(); |
| 137 | + assertThat(sent.getRoleInheritance()).isNull(); |
| 138 | + } |
| 139 | + } |
| 140 | + |
| 141 | + @Test |
| 142 | + void testUpdateFullForEmptyId() { |
| 143 | + ServerCommonException thrown = assertThrows( |
| 144 | + ServerCommonException.class, |
| 145 | + () -> tenantService.update("", "", selfProvisioningDomains, null, null, null, null, null, null, null)); |
| 146 | + assertNotNull(thrown); |
| 147 | + assertEquals("The id or name argument is invalid", thrown.getMessage()); |
| 148 | + } |
| 149 | + |
| 150 | + @Test |
| 151 | + void testUpdateFullForSuccess() { |
| 152 | + ApiProxy apiProxy = mock(ApiProxy.class); |
| 153 | + doReturn(mockTenant).when(apiProxy).post(any(), any(), any()); |
| 154 | + try (MockedStatic<ApiProxyBuilder> mockedApiProxyBuilder = mockStatic(ApiProxyBuilder.class)) { |
| 155 | + mockedApiProxyBuilder.when( |
| 156 | + () -> ApiProxyBuilder.buildProxy(any(), any())).thenReturn(apiProxy); |
| 157 | + tenantService.update("someId", "someName", selfProvisioningDomains, null, |
| 158 | + "saml", true, true, Arrays.asList("user1"), Arrays.asList("app1"), "inherit"); |
| 159 | + ArgumentCaptor<Tenant> captor = ArgumentCaptor.forClass(Tenant.class); |
| 160 | + verify(apiProxy, times(1)).post(any(), captor.capture(), any()); |
| 161 | + Tenant sent = captor.getValue(); |
| 162 | + assertThat(sent.getId()).isEqualTo("someId"); |
| 163 | + assertThat(sent.getName()).isEqualTo("someName"); |
| 164 | + assertThat(sent.getSelfProvisioningDomains()).isEqualTo(selfProvisioningDomains); |
| 165 | + assertThat(sent.getAuthType()).isEqualTo("saml"); |
| 166 | + assertThat(sent.getDisabled()).isTrue(); |
| 167 | + assertThat(sent.getEnforceSSO()).isTrue(); |
| 168 | + assertThat(sent.getEnforceSSOExclusions()).containsExactly("user1"); |
| 169 | + assertThat(sent.getFederatedAppIds()).containsExactly("app1"); |
| 170 | + assertThat(sent.getRoleInheritance()).isEqualTo("inherit"); |
| 171 | + } |
| 172 | + } |
| 173 | + |
| 174 | + @Test |
| 175 | + void testUpdateFullWithNullOptionalFieldsForSuccess() { |
| 176 | + ApiProxy apiProxy = mock(ApiProxy.class); |
| 177 | + doReturn(mockTenant).when(apiProxy).post(any(), any(), any()); |
| 178 | + try (MockedStatic<ApiProxyBuilder> mockedApiProxyBuilder = mockStatic(ApiProxyBuilder.class)) { |
| 179 | + mockedApiProxyBuilder.when( |
| 180 | + () -> ApiProxyBuilder.buildProxy(any(), any())).thenReturn(apiProxy); |
| 181 | + tenantService.update("someId", "someName", null, null, null, null, null, null, null, null); |
| 182 | + ArgumentCaptor<Tenant> captor = ArgumentCaptor.forClass(Tenant.class); |
| 183 | + verify(apiProxy, times(1)).post(any(), captor.capture(), any()); |
| 184 | + Tenant sent = captor.getValue(); |
| 185 | + assertThat(sent.getId()).isEqualTo("someId"); |
| 186 | + assertThat(sent.getName()).isEqualTo("someName"); |
| 187 | + assertThat(sent.getAuthType()).isNull(); |
| 188 | + assertThat(sent.getDisabled()).isNull(); |
| 189 | + assertThat(sent.getEnforceSSO()).isNull(); |
| 190 | + assertThat(sent.getEnforceSSOExclusions()).isNull(); |
| 191 | + assertThat(sent.getFederatedAppIds()).isNull(); |
| 192 | + assertThat(sent.getRoleInheritance()).isNull(); |
124 | 193 | } |
125 | 194 | } |
126 | 195 |
|
|
0 commit comments