Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -229,10 +229,7 @@ private ILabAccount createTempAccountInternal(@NonNull final TempUserType tempUs
mLabApiAuthenticationClient.getAccessToken()
);

final String createTempUserFunctionCode = getKeyVaultSecret(
CreateTempUserApi.AZURE_FUNCTION_CODE_SECRET_NAME
);
final CreateTempUserApi createTempUserApi = new CreateTempUserApi(createTempUserFunctionCode);
final CreateTempUserApi createTempUserApi = new CreateTempUserApi();
createTempUserApi.getApiClient().setReadTimeout(TEMP_USER_API_READ_TIMEOUT);
final TempUser tempUser;

Expand Down Expand Up @@ -329,14 +326,10 @@ public boolean deleteDevice(@NonNull final String upn,
Configuration.getDefaultApiClient().setAccessToken(
mLabApiAuthenticationClient.getAccessToken()
);

final String deleteDeviceFunctionCode = getKeyVaultSecret(
DeleteDeviceApi.AZURE_FUNCTION_CODE_SECRET_NAME
);
final DeleteDeviceApi deleteDeviceApi = new DeleteDeviceApi(deleteDeviceFunctionCode);
final DeleteDeviceApi deleteDeviceApi = new DeleteDeviceApi();

try {
final CustomSuccessResponse successResponse = deleteDeviceApi.apiDeleteDeviceDelete(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Out of curiosity, when is CustomSuccessResponse expected as a result vs a general string?

Copy link
Contributor Author

@fadidurah fadidurah Nov 19, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These Response classes are generated code, from a few years ago, they map to a particular json schema that lab was sending at one point. In the case of delete Device, that schema is no longer there due to bypassing the msidlabs layer, it's just sending us a string. This can should probably be changed on lab's side, but i don't really think such a change is worth it as it may cause another outage.

final String successResponse = deleteDeviceApi.apiDeleteDeviceDelete(
upn, deviceId
);

Expand All @@ -346,12 +339,12 @@ public boolean deleteDevice(@NonNull final String upn,

// we probably need a more sophisticated logger integrated into LabApi
// for now this is fine
System.out.println(successResponse.getResult());
System.out.println(successResponse);

final String expectedResult = String.format(
"Device : %s, successfully deleted from AAD.", deviceId
);
return expectedResult.equalsIgnoreCase(successResponse.getResult());
return expectedResult.equalsIgnoreCase(successResponse);
} catch (final com.microsoft.identity.internal.test.labapi.ApiException ex) {
throw new LabApiException(
LabError.FAILED_TO_DELETE_DEVICE, ex,
Expand Down Expand Up @@ -435,10 +428,10 @@ private String getPassword(final String credentialVaultKeyName) throws LabApiExc

@Override
public boolean resetPassword(@NonNull final String upn) throws LabApiException {
final String resetApiFunctionCode = getKeyVaultSecret(
ResetApi.AZURE_FUNCTION_CODE_SECRET_NAME
Configuration.getDefaultApiClient().setAccessToken(
mLabApiAuthenticationClient.getAccessToken()
);
final ResetApi resetApi = new ResetApi(resetApiFunctionCode);
final ResetApi resetApi = new ResetApi();
try {
final CustomSuccessResponse resetResponse = resetApi.apiResetPut(upn, ResetOperation.PASSWORD.toString());
if (resetResponse == null) {
Expand Down Expand Up @@ -512,10 +505,7 @@ public boolean enablePolicy(@NonNull final String upn, @NonNull final Protection
Configuration.getDefaultApiClient().setAccessToken(
mLabApiAuthenticationClient.getAccessToken()
);
final String enablePolicyFunctionCode = getKeyVaultSecret(
EnablePolicyApi.AZURE_FUNCTION_CODE_SECRET_NAME
);
final EnablePolicyApi enablePolicyApi = new EnablePolicyApi(enablePolicyFunctionCode);
final EnablePolicyApi enablePolicyApi = new EnablePolicyApi();
try {
final CustomSuccessResponse enablePolicyResult = enablePolicyApi.apiEnablePolicyPut(upn, policy.toString());
final String expectedResult = (policy + " Enabled for user : " + upn).toLowerCase();
Expand All @@ -537,10 +527,10 @@ public boolean enablePolicy(@NonNull final String upn, @NonNull final Protection
* @return boolean value indicating policy is disabled or not for the upn.
*/
public boolean disablePolicy(@NonNull final String upn, @NonNull final ProtectionPolicy policy) throws LabApiException {
final String disablePolicyFunctionCode = getKeyVaultSecret(
DisablePolicyApi.AZURE_FUNCTION_CODE_SECRET_NAME
Configuration.getDefaultApiClient().setAccessToken(
mLabApiAuthenticationClient.getAccessToken()
);
final DisablePolicyApi disablePolicyApi = new DisablePolicyApi(disablePolicyFunctionCode);
final DisablePolicyApi disablePolicyApi = new DisablePolicyApi();
try {
final CustomSuccessResponse disablePolicyResponse = disablePolicyApi.apiDisablePolicyPut(upn, policy.toString());
final String expectedResult = (policy + " Disabled for user : " + upn).toLowerCase();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,8 +163,8 @@ static final class TempUserPolicy {
}

static final class ResetOperation {
public static final String MFA = "MFA";
public static final String PASSWORD = "Password";
public static final String MFA = "mfa";
public static final String PASSWORD = "password";
}

static final class HasAltId {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,6 @@ public void canCreateMAMCATempUser() {
}

@Test
@Ignore
public void canResetPassword() {
try {
final ILabAccount labAccount = mLabClient.createTempAccount(TempUserType.BASIC);
Expand All @@ -183,7 +182,6 @@ public void canResetPassword() {
}

@Test
@Ignore
public void canEnablePolicy() {
try {
final ILabAccount labAccount = mLabClient.createTempAccount(TempUserType.BASIC);
Expand All @@ -195,7 +193,6 @@ public void canEnablePolicy() {
}

@Test
@Ignore
public void canDisablePolicy() {
try {
final ILabAccount labAccount = mLabClient.createTempAccount(TempUserType.MAM_CA);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,9 @@
import com.microsoft.identity.internal.test.labapi.Pair;
import com.microsoft.identity.internal.test.labapi.ProgressRequestBody;
import com.microsoft.identity.internal.test.labapi.ProgressResponseBody;

import com.google.gson.reflect.TypeToken;

import java.io.IOException;


import com.microsoft.identity.internal.test.labapi.model.CustomErrorResponse;
import com.microsoft.identity.internal.test.labapi.model.TempUser;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
Expand All @@ -37,16 +31,13 @@

public class CreateTempUserApi {
private ApiClient apiClient;
private final String mAzureFunctionCode;
public static final String AZURE_FUNCTION_CODE_SECRET_NAME = "CreateTempUser";

public CreateTempUserApi(final String azureFunctionCode) {
this(Configuration.getDefaultApiClient(), azureFunctionCode);
public CreateTempUserApi() {
this(Configuration.getDefaultApiClient());
}

public CreateTempUserApi(final ApiClient apiClient, final String azureFunctionCode) {
public CreateTempUserApi(final ApiClient apiClient) {
this.apiClient = apiClient;
mAzureFunctionCode = azureFunctionCode;
}

public ApiClient getApiClient() {
Expand Down Expand Up @@ -76,8 +67,6 @@ public com.squareup.okhttp.Call apiCreateTempUserPostCall(String usertype, final
if (usertype != null)
localVarQueryParams.addAll(apiClient.parameterToPair("usertype", usertype));

localVarQueryParams.addAll(apiClient.parameterToPair("code", mAzureFunctionCode));

Map<String, String> localVarHeaderParams = new HashMap<String, String>();

Map<String, Object> localVarFormParams = new HashMap<String, Object>();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,9 @@
import com.microsoft.identity.internal.test.labapi.Pair;
import com.microsoft.identity.internal.test.labapi.ProgressRequestBody;
import com.microsoft.identity.internal.test.labapi.ProgressResponseBody;

import com.google.gson.reflect.TypeToken;

import java.io.IOException;


import com.microsoft.identity.internal.test.labapi.model.CustomErrorResponse;
import com.microsoft.identity.internal.test.labapi.model.CustomSuccessResponse;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
Expand All @@ -37,16 +31,13 @@

public class DeleteDeviceApi {
private ApiClient apiClient;
private final String mAzureFunctionCode;
public static final String AZURE_FUNCTION_CODE_SECRET_NAME = "DeleteDevice";

public DeleteDeviceApi(final String azureFunctionCode) {
this(Configuration.getDefaultApiClient(), azureFunctionCode);
public DeleteDeviceApi() {
this(Configuration.getDefaultApiClient());
}

public DeleteDeviceApi(ApiClient apiClient, final String azureFunctionCode) {
public DeleteDeviceApi(ApiClient apiClient) {
this.apiClient = apiClient;
mAzureFunctionCode = azureFunctionCode;
}

public ApiClient getApiClient() {
Expand Down Expand Up @@ -77,9 +68,7 @@ public com.squareup.okhttp.Call apiDeleteDeviceDeleteCall(String upn, String dev
if (upn != null)
localVarQueryParams.addAll(apiClient.parameterToPair("upn", upn));
if (deviceid != null)
localVarQueryParams.addAll(apiClient.parameterToPair("deviceid", deviceid));

localVarQueryParams.addAll(apiClient.parameterToPair("code", mAzureFunctionCode));
localVarQueryParams.addAll(apiClient.parameterToPair("deviceId", deviceid));

Map<String, String> localVarHeaderParams = new HashMap<String, String>();

Expand Down Expand Up @@ -110,7 +99,7 @@ public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Ch
}

String[] localVarAuthNames = new String[] { };
return apiClient.buildCall(localVarPath, "DELETE", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
}

@SuppressWarnings("rawtypes")
Expand All @@ -128,8 +117,8 @@ private com.squareup.okhttp.Call apiDeleteDeviceDeleteValidateBeforeCall(String
* @return CustomSuccessResponse
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
*/
public CustomSuccessResponse apiDeleteDeviceDelete(String upn, String deviceid) throws ApiException {
ApiResponse<CustomSuccessResponse> resp = apiDeleteDeviceDeleteWithHttpInfo(upn, deviceid);
public String apiDeleteDeviceDelete(String upn, String deviceid) throws ApiException {
ApiResponse<String> resp = apiDeleteDeviceDeleteWithHttpInfo(upn, deviceid);
return resp.getData();
}

Expand All @@ -141,9 +130,9 @@ public CustomSuccessResponse apiDeleteDeviceDelete(String upn, String deviceid)
* @return ApiResponse&lt;CustomSuccessResponse&gt;
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
*/
public ApiResponse<CustomSuccessResponse> apiDeleteDeviceDeleteWithHttpInfo(String upn, String deviceid) throws ApiException {
public ApiResponse<String> apiDeleteDeviceDeleteWithHttpInfo(String upn, String deviceid) throws ApiException {
com.squareup.okhttp.Call call = apiDeleteDeviceDeleteValidateBeforeCall(upn, deviceid, null, null);
Type localVarReturnType = TypeToken.get(CustomSuccessResponse.class).getType();
Type localVarReturnType = TypeToken.get(String.class).getType();
return apiClient.execute(call, localVarReturnType);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,16 +36,13 @@

public class DisablePolicyApi {
private ApiClient apiClient;
private final String mAzureFunctionCode;
public static final String AZURE_FUNCTION_CODE_SECRET_NAME = "DisablePolicy";

public DisablePolicyApi(final String azureFunctionCode) {
this(Configuration.getDefaultApiClient(), azureFunctionCode);
public DisablePolicyApi() {
this(Configuration.getDefaultApiClient());
}

public DisablePolicyApi(ApiClient apiClient, final String azureFunctionCode) {
public DisablePolicyApi(ApiClient apiClient) {
this.apiClient = apiClient;
mAzureFunctionCode = azureFunctionCode;
}

public ApiClient getApiClient() {
Expand Down Expand Up @@ -78,8 +75,6 @@ public com.squareup.okhttp.Call apiDisablePolicyPutCall(String upn, String polic
if (policy != null)
localVarQueryParams.addAll(apiClient.parameterToPair("policy", policy));

localVarQueryParams.addAll(apiClient.parameterToPair("code", mAzureFunctionCode));

Map<String, String> localVarHeaderParams = new HashMap<String, String>();

Map<String, Object> localVarFormParams = new HashMap<String, Object>();
Expand Down Expand Up @@ -109,7 +104,7 @@ public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Ch
}

String[] localVarAuthNames = new String[] { };
return apiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
}

@SuppressWarnings("rawtypes")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,16 +35,13 @@

public class EnablePolicyApi {
private ApiClient apiClient;
private final String mAzureFunctionCode;
public static final String AZURE_FUNCTION_CODE_SECRET_NAME = "EnablePolicy";

public EnablePolicyApi(final String azureFunctionCode) {
this(Configuration.getDefaultApiClient(), azureFunctionCode);
public EnablePolicyApi() {
this(Configuration.getDefaultApiClient());
}

public EnablePolicyApi(ApiClient apiClient, final String azureFunctionCode) {
public EnablePolicyApi(ApiClient apiClient) {
this.apiClient = apiClient;
mAzureFunctionCode = azureFunctionCode;
}

public ApiClient getApiClient() {
Expand Down Expand Up @@ -77,8 +74,6 @@ public com.squareup.okhttp.Call apiEnablePolicyPutCall(String upn, String policy
if (policy != null)
localVarQueryParams.addAll(apiClient.parameterToPair("policy", policy));

localVarQueryParams.addAll(apiClient.parameterToPair("code", mAzureFunctionCode));

Map<String, String> localVarHeaderParams = new HashMap<String, String>();

Map<String, Object> localVarFormParams = new HashMap<String, Object>();
Expand Down Expand Up @@ -108,7 +103,7 @@ public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Ch
}

String[] localVarAuthNames = new String[] { };
return apiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
}

@SuppressWarnings("rawtypes")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,9 @@
import com.microsoft.identity.internal.test.labapi.Pair;
import com.microsoft.identity.internal.test.labapi.ProgressRequestBody;
import com.microsoft.identity.internal.test.labapi.ProgressResponseBody;

import com.google.gson.reflect.TypeToken;

import java.io.IOException;


import com.microsoft.identity.internal.test.labapi.model.CustomErrorResponse;
import com.microsoft.identity.internal.test.labapi.model.CustomSuccessResponse;

import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
Expand All @@ -37,16 +31,13 @@

public class ResetApi {
private ApiClient apiClient;
private final String mAzureFunctionCode;
public static final String AZURE_FUNCTION_CODE_SECRET_NAME = "ResetApi";

public ResetApi(final String azureFunctionCode) {
this(Configuration.getDefaultApiClient(), azureFunctionCode);
public ResetApi() {
this(Configuration.getDefaultApiClient());
}

public ResetApi(ApiClient apiClient, final String azureFunctionCode) {
public ResetApi(ApiClient apiClient) {
this.apiClient = apiClient;
mAzureFunctionCode = azureFunctionCode;
}

public ApiClient getApiClient() {
Expand Down Expand Up @@ -79,8 +70,6 @@ public com.squareup.okhttp.Call apiResetPutCall(String upn, String operation, fi
if (operation != null)
localVarQueryParams.addAll(apiClient.parameterToPair("operation", operation));

localVarQueryParams.addAll(apiClient.parameterToPair("code", mAzureFunctionCode));

Map<String, String> localVarHeaderParams = new HashMap<String, String>();

Map<String, Object> localVarFormParams = new HashMap<String, Object>();
Expand Down Expand Up @@ -110,7 +99,7 @@ public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Ch
}

String[] localVarAuthNames = new String[] { };
return apiClient.buildCall(localVarPath, "PUT", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
return apiClient.buildCall(localVarPath, "POST", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
}

@SuppressWarnings("rawtypes")
Expand Down
Loading
Loading