diff --git a/src/main/java/dev/openfga/sdk/api/client/model/ClientReadAuthorizationModelResponse.java b/src/main/java/dev/openfga/sdk/api/client/model/ClientReadAuthorizationModelResponse.java index b1be4495..9e4b22f6 100644 --- a/src/main/java/dev/openfga/sdk/api/client/model/ClientReadAuthorizationModelResponse.java +++ b/src/main/java/dev/openfga/sdk/api/client/model/ClientReadAuthorizationModelResponse.java @@ -34,7 +34,10 @@ public static ClientReadAuthorizationModelResponse latestOf( ClientReadAuthorizationModelResponse clientResponse = new ClientReadAuthorizationModelResponse( apiResponse.getStatusCode(), apiResponse.getHeaders(), apiResponse.getRawResponse()); ReadAuthorizationModelsResponse response = apiResponse.getData(); - clientResponse.setAuthorizationModel(response.getAuthorizationModels().get(0)); + List models = response.getAuthorizationModels(); + if (!models.isEmpty()) { + clientResponse.setAuthorizationModel(models.get(0)); + } return clientResponse; } diff --git a/src/test/java/dev/openfga/sdk/api/client/OpenFgaClientTest.java b/src/test/java/dev/openfga/sdk/api/client/OpenFgaClientTest.java index 2850929d..138db6fc 100644 --- a/src/test/java/dev/openfga/sdk/api/client/OpenFgaClientTest.java +++ b/src/test/java/dev/openfga/sdk/api/client/OpenFgaClientTest.java @@ -746,6 +746,23 @@ public void readLatestAuthorizationModelTest() throws Exception { assertEquals(DEFAULT_SCHEMA_VERSION, authModel.getSchemaVersion()); } + @Test + public void readLatestAuthorizationModelTest_emptyList() throws Exception { + // Given + String getUrl = String.format( + "%s/stores/%s/authorization-models?page_size=1", FgaConstants.TEST_API_URL, DEFAULT_STORE_ID); + String responseBody = "{\"authorization_models\":[]}"; + mockHttpClient.onGet(getUrl).doReturn(200, responseBody); + + // When + ClientReadAuthorizationModelResponse response = + fga.readLatestAuthorizationModel().get(); + + // Then + mockHttpClient.verify().get(getUrl).called(1); + assertNull(response.getAuthorizationModel()); + } + @Test public void readChanges() throws Exception { // Given