Skip to content

attempting to get WorkItemItemTypes without a project caues an UnAuthorizedException but the http code is OK #107

@AesElh

Description

@AesElh

the following code creates an exception , but if you try to get the http code you'll get an OK
it seems the response in ResposneHandler get overriden by a subsequenet getLocations call

        AzDServiceClient azDServiceClient = AzDService.builder().authentication(new PersonalAccessTokenCredential(Instance.BASE_INSTANCE.append(organization),  personalAccessToken)).buildClient();
        WorkItemTrackingRequestBuilder workItemTrackingRequestBuilder = azDServiceClient.workItemTracking();
        WorkItemTypesRequestBuilder workItemTypesRequestBuilder = workItemTrackingRequestBuilder.workItemTypes();
        try {
            WorkItemTypes list = workItemTypesRequestBuilder.list();
        }catch (AzDException e){
            e.printStackTrace();
            HttpStatusCode statusCode = ResponseHandler.getResponse().getStatusCode();
            System.out.println(statusCode);
        }
org.azd.exceptions.AzDException: UnAuthorizedException: Given token doesn't have access to resource 'https://dev.azure.com/securitas-healthcare/_apis/wit/workItemTypes?api-version=7.2-preview.2'.
	at org.azd.abstractions.handlers.ErrorResponseHandler.handleAsync(ErrorResponseHandler.java:43)
	at org.azd.abstractions.ResponseHandler.nextAsync(ResponseHandler.java:33)
	at org.azd.abstractions.handlers.RedirectResponseHandler.handleAsync(RedirectResponseHandler.java:15)
	at org.azd.abstractions.ResponseHandler.nextAsync(ResponseHandler.java:33)
	at org.azd.abstractions.handlers.ApiResponseHandler.handleAsync(ApiResponseHandler.java:22)
	at org.azd.abstractions.pipelines.ResponsePipeline.processAsync(ResponsePipeline.java:18)
	at org.azd.abstractions.internals.ClientRequestAdapter.lambda$executeAsync$3(ClientRequestAdapter.java:87)
	at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire$$$capture(CompletableFuture.java:1150)
	at java.base/java.util.concurrent.CompletableFuture$UniCompose.tryFire(CompletableFuture.java)
	at --- Async.Stack.Trace --- (captured by IntelliJ IDEA debugger)
	at java.base/java.util.concurrent.CompletableFuture$UniCompose.<init>(CompletableFuture.java:1129)
	at java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1173)
	at java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2341)
	at org.azd.abstractions.internals.ClientRequestAdapter.executeAsync(ClientRequestAdapter.java:85)
	at org.azd.abstractions.internals.ClientRequestAdapter.execute(ClientRequestAdapter.java:136)
	at org.azd.workitemtracking.workitemtypes.WorkItemTypesRequestBuilder.list(WorkItemTypesRequestBuilder.java:76)
	at TestAPIScratch.testSearch(TestAPIScratch.java:90)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:59)
	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
	at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:56)
	at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.BlockJUnit4ClassRunner$1.evaluate(BlockJUnit4ClassRunner.java:100)
	at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:366)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:103)
	at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:63)
	at org.junit.runners.ParentRunner$4.run(ParentRunner.java:331)
	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:79)
	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:329)
	at org.junit.runners.ParentRunner.access$100(ParentRunner.java:66)
	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:293)
	at org.junit.runners.ParentRunner$3.evaluate(ParentRunner.java:306)
	at org.junit.runners.ParentRunner.run(ParentRunner.java:413)
	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)
	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:69)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater$1.execute(IdeaTestRunner.java:38)
	at com.intellij.rt.execution.junit.TestsRepeater.repeat(TestsRepeater.java:11)
	at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:35)
	at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:237)
	at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions