Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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 @@ -4,7 +4,7 @@
import lombok.extern.slf4j.Slf4j;
import org.opendevstack.apiservice.externalservice.marketplace.exception.MarketplaceException;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.CatalogItem;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentExtendedInfo;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentProvisionStatus;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProvisionActionParameter;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProvisioningStatusUpdateRequestAllOfParameters;
import org.opendevstack.apiservice.externalservice.marketplace.service.CatalogItemOperations;
Expand Down Expand Up @@ -43,7 +43,7 @@ public class ComponentsFacade {

public Component getProjectComponent(String projectId, String componentId) {
try {
ProjectComponentExtendedInfo marketplaceComponent = marketplaceExternalService.getProjectComponent(projectId, componentId);
ProjectComponentProvisionStatus marketplaceComponent = marketplaceExternalService.getProjectComponent(projectId, componentId);
if (marketplaceComponent == null) {
log.info("Marketplace component with id {} not found", componentId);
throw new ComponentNotFoundException(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
import org.opendevstack.apiservice.externalservice.marketplace.client.model.CatalogItem;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.CatalogItemUserAction;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.CatalogItemUserActionParameter;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentExtendedInfo;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentProvisionStatus;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProvisionActionParameter;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProvisioningStatusUpdateRequestAllOfParameters;
import org.opendevstack.apiservice.project.model.Component;
Expand All @@ -22,7 +22,7 @@ public interface MarketplaceMapper {

String DEFAULT_PARAMETER_TYPE = "string";

default Component mapMarketplaceComponentToV0Component(ProjectComponentExtendedInfo source, CatalogItem catalogItem) throws MarketplaceException {
default Component mapMarketplaceComponentToV0Component(ProjectComponentProvisionStatus source, CatalogItem catalogItem) throws MarketplaceException {
Component component = new Component();
component.setId(source.getComponentId());
component.setEnvironment(EnvironmentsDTO.DEV); // Env is always DEV so we hardcode it as such
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import org.mockito.junit.jupiter.MockitoExtension;
import org.opendevstack.apiservice.externalservice.marketplace.exception.MarketplaceException;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.CatalogItem;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentExtendedInfo;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentProvisionStatus;
import org.opendevstack.apiservice.externalservice.marketplace.service.MarketplaceService;
import org.opendevstack.apiservice.project.config.ProjectComponentsCreateProperties;
import org.opendevstack.apiservice.project.exception.ComponentAlreadyExistsException;
Expand All @@ -17,7 +17,6 @@
import org.opendevstack.apiservice.project.exception.ComponentNotFoundException;
import org.opendevstack.apiservice.project.exception.ComponentRegistrationException;
import org.opendevstack.apiservice.project.exception.ComponentReservedParamException;
import org.opendevstack.apiservice.project.exception.ComponentReservedParamException;
import org.opendevstack.apiservice.project.mapper.MarketplaceMapper;
import org.opendevstack.apiservice.project.model.Component;
import org.opendevstack.apiservice.project.model.ComponentsStatusDTO;
Expand All @@ -30,7 +29,6 @@

import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.assertj.core.api.Assertions.assertThat;
import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.mockito.ArgumentMatchers.anyList;
import static org.mockito.ArgumentMatchers.anyString;
import static org.mockito.ArgumentMatchers.eq;
Expand Down Expand Up @@ -63,7 +61,7 @@ void setup() {

@Test
void get_project_component_returns_mapped_component_when_marketplace_returns_data() throws MarketplaceException {
ProjectComponentExtendedInfo marketplaceComponent = buildTestMarketplaceComponent();
ProjectComponentProvisionStatus marketplaceComponent = buildTestMarketplaceComponent();
CatalogItem testCatalogItem = buildTestCatalogItem();

when(marketplaceExternalService.getProjectComponent("testProject", "testComponent"))
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.opendevstack.apiservice.project.util;

import org.opendevstack.apiservice.externalservice.marketplace.client.model.CatalogItem;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentExtendedInfo;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentProvisionStatus;
import org.opendevstack.apiservice.project.model.Component;
import org.opendevstack.apiservice.project.model.ComponentsStatusDTO;
import org.opendevstack.apiservice.project.model.CreateComponentRequest;
Expand All @@ -26,8 +26,8 @@ public static Component buildTestComponent() {
return component;
}

public static ProjectComponentExtendedInfo buildTestMarketplaceComponent() {
ProjectComponentExtendedInfo component = new ProjectComponentExtendedInfo();
public static ProjectComponentProvisionStatus buildTestMarketplaceComponent() {
ProjectComponentProvisionStatus component = new ProjectComponentProvisionStatus();
component.setComponentId(UUID.randomUUID().toString());
component.setStatus("CREATING");
component.setComponentUrl("http://test.component.url");
Expand Down
4 changes: 2 additions & 2 deletions external-service-marketplace/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@
<goal>generate</goal>
</goals>
<configuration>
<openapiNormalizer>FILTER=operationId:getProjectComponents|getProjectComponentById|getCatalogItemById|getCatalogItemBySlug|getCatalogHealth</openapiNormalizer>
<openapiNormalizer>FILTER=operationId:getCatalogItemById|getCatalogItemBySlug|getCatalogHealth</openapiNormalizer>
<generatorName>java</generatorName>
<output>${project.basedir}/target/generated-sources/openapi</output>
<library>resttemplate</library>
Expand Down Expand Up @@ -186,7 +186,7 @@
<goal>generate</goal>
</goals>
<configuration>
<openapiNormalizer>FILTER=operationId:triggerProvisionAction|notifyProvisioningStatusUpdate|deleteProjectComponent|getProvisionerHealth</openapiNormalizer>
<openapiNormalizer>FILTER=operationId:triggerProvisionAction|notifyProvisioningStatusUpdate|deleteProjectComponent|getProjectComponentProvisionStatusById|getProvisionerHealth</openapiNormalizer>
<generatorName>java</generatorName>
<output>${project.basedir}/target/generated-sources/openapi</output>
<library>resttemplate</library>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package org.opendevstack.apiservice.externalservice.marketplace.service;

import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentExtendedInfo;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentProvisionStatus;

import java.nio.charset.StandardCharsets;
import java.util.Base64;
Expand All @@ -18,7 +18,7 @@ public static byte[] decodeId(String id) {
return Base64.getUrlDecoder().decode(id);
}

public static String buildCatalogItemId(ProjectComponentExtendedInfo component) {
public static String buildCatalogItemId(ProjectComponentProvisionStatus component) {
if (component == null || component.getCatalogItemId() == null || component.getCatalogItemRef() == null) {
return null;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
import org.opendevstack.apiservice.externalservice.api.ExternalService;
import org.opendevstack.apiservice.externalservice.marketplace.exception.MarketplaceException;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.CatalogItem;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentExtendedInfo;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentProvisionStatus;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProvisionActionParameter;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProvisioningStatusUpdateRequestAllOfParameters;

Expand All @@ -18,9 +18,9 @@ public interface MarketplaceService extends ExternalService {

String getDefaultInstance() throws MarketplaceException;

ProjectComponentExtendedInfo getProjectComponent(String projectId, String componentId) throws MarketplaceException;
ProjectComponentProvisionStatus getProjectComponent(String projectId, String componentId) throws MarketplaceException;

ProjectComponentExtendedInfo getProjectComponent(String instanceName, String projectId, String componentId) throws MarketplaceException;
ProjectComponentProvisionStatus getProjectComponent(String instanceName, String projectId, String componentId) throws MarketplaceException;

CatalogItem getCatalogItem(String catalogItemId) throws MarketplaceException;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,14 @@
import org.opendevstack.apiservice.externalservice.marketplace.client.ApiClient;
import org.opendevstack.apiservice.externalservice.marketplace.client.api.CatalogHealthApi;
import org.opendevstack.apiservice.externalservice.marketplace.client.api.CatalogItemsApi;
import org.opendevstack.apiservice.externalservice.marketplace.client.api.ProjectComponentsApi;
import org.opendevstack.apiservice.externalservice.marketplace.client.api.ProjectComponentsWithProvisionStatusApi;
import org.opendevstack.apiservice.externalservice.marketplace.client.api.ProvisionResultsApi;
import org.opendevstack.apiservice.externalservice.marketplace.client.api.ProvisionerActionsApi;
import org.opendevstack.apiservice.externalservice.marketplace.client.api.ProvisionerHealthApi;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.CatalogItem;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.GetCatalogHealth200Response;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.GetProvisionerHealth200Response;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentExtendedInfo;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentProvisionStatus;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProvisionAction;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProvisionActionParameter;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProvisionActionResponse;
Expand Down Expand Up @@ -107,19 +107,19 @@ public CatalogItem getCatalogItemBySlug(String instanceName, String slug) throws
}

@Override
public ProjectComponentExtendedInfo getProjectComponent(String projectId, String componentId) throws MarketplaceException {
public ProjectComponentProvisionStatus getProjectComponent(String projectId, String componentId) throws MarketplaceException {
return getProjectComponent(getDefaultInstance(), projectId, componentId);
}

@Override
public ProjectComponentExtendedInfo getProjectComponent(String instanceName, String projectId, String componentId) throws MarketplaceException {
public ProjectComponentProvisionStatus getProjectComponent(String instanceName, String projectId, String componentId) throws MarketplaceException {
log.debug("Marketplace service GET component with id {} for project {} in instance {} ", componentId, projectId, instanceName);
try {
MarketplaceApiClient marketplaceClient = getOboAuthenticatedClient(instanceName);
ApiClient apiClient = marketplaceClient.getApiClient();
ProjectComponentsApi projectComponentsApi = new ProjectComponentsApi(apiClient);
ProjectComponentsWithProvisionStatusApi projectComponentsApi = new ProjectComponentsWithProvisionStatusApi(apiClient);
apiClient.setBasePath(marketplaceClient.getConfig().getProjectComponentsBaseUrl());
return projectComponentsApi.getProjectComponentById(projectId, componentId);
return projectComponentsApi.getProjectComponentProvisionStatusById(projectId, componentId);
} catch (HttpClientErrorException.NotFound e) {
log.debug("Component with id '{}' not found in Marketplace instance '{}' for project '{}'",
componentId, instanceName, projectId);
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package org.opendevstack.apiservice.externalservice.marketplace.service;

import org.junit.jupiter.api.Test;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentExtendedInfo;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentProvisionStatus;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
Expand All @@ -17,21 +17,21 @@ void testBuildCatalogItemId_whenNullComponent_ReturnNull() {

@Test
void testBuildCatalogItemId_whenNullValues_ReturnNull() {
ProjectComponentExtendedInfo testComponentExtendedInfo = new ProjectComponentExtendedInfo();
testComponentExtendedInfo.setCatalogItemId(null);
testComponentExtendedInfo.setCatalogItemRef(null);
ProjectComponentProvisionStatus testComponentProvisionStatus = new ProjectComponentProvisionStatus();
testComponentProvisionStatus.setCatalogItemId(null);
testComponentProvisionStatus.setCatalogItemRef(null);

String catalogItemId = CatalogItemOperations.buildCatalogItemId(testComponentExtendedInfo);
String catalogItemId = CatalogItemOperations.buildCatalogItemId(testComponentProvisionStatus);
assertNull(catalogItemId);
}

@Test
void testBuildCatalogItemId_whenCorrectValues_ReturnCorrectlyBuiltId() {
ProjectComponentExtendedInfo testComponentExtendedInfo = new ProjectComponentExtendedInfo();
testComponentExtendedInfo.setCatalogItemId("cHJvamVjdHMvVEVTVC9yZXBvcy9DYXRhbG9nSXRlbS55YW1s");
testComponentExtendedInfo.setCatalogItemRef("P2F0PXJlZnMvaGVhZHMvbWFzdGVy");
ProjectComponentProvisionStatus testComponentProvisionStatus = new ProjectComponentProvisionStatus();
testComponentProvisionStatus.setCatalogItemId("cHJvamVjdHMvVEVTVC9yZXBvcy9DYXRhbG9nSXRlbS55YW1s");
testComponentProvisionStatus.setCatalogItemRef("P2F0PXJlZnMvaGVhZHMvbWFzdGVy");

String catalogItemId = CatalogItemOperations.buildCatalogItemId(testComponentExtendedInfo);
String catalogItemId = CatalogItemOperations.buildCatalogItemId(testComponentProvisionStatus);
assertNotNull(catalogItemId);
assertEquals("cHJvamVjdHMvVEVTVC9yZXBvcy9DYXRhbG9nSXRlbS55YW1sP2F0PXJlZnMvaGVhZHMvbWFzdGVy", catalogItemId);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
import org.opendevstack.apiservice.externalservice.marketplace.exception.MarketplaceException;
import org.opendevstack.apiservice.externalservice.marketplace.client.ApiClient;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.CatalogItem;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentExtendedInfo;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProjectComponentProvisionStatus;
import org.opendevstack.apiservice.externalservice.marketplace.client.model.ProvisionActionResponse;
import org.opendevstack.apiservice.externalservice.marketplace.service.impl.MarketplaceServiceImpl;
import org.springframework.core.ParameterizedTypeReference;
Expand Down Expand Up @@ -199,7 +199,7 @@ void testGetProjectComponent_NotFound_ReturnsNull() throws MarketplaceException
when(marketplaceApiClient.getConfig()).thenReturn(instanceConfig);

// Act
ProjectComponentExtendedInfo result = marketplaceService.getProjectComponent(instanceName, projectKey, componentId);
ProjectComponentProvisionStatus result = marketplaceService.getProjectComponent(instanceName, projectKey, componentId);

// Assert
assertNull(result);
Expand Down Expand Up @@ -348,7 +348,7 @@ void testGetProjectComponent_NoInstanceArg_UsesDefaultClient() throws Marketplac
whenInvokeAPI(PATH_PROJECT_COMPONENT, HttpMethod.GET).thenReturn(ResponseEntity.ok(null));
when(marketplaceApiClient.getConfig()).thenReturn(instanceConfig);

ProjectComponentExtendedInfo result = marketplaceService.getProjectComponent(projectKey, componentId);
ProjectComponentProvisionStatus result = marketplaceService.getProjectComponent(projectKey, componentId);

assertNull(result);
verify(clientFactory).getClient("default");
Expand Down Expand Up @@ -402,7 +402,7 @@ void testGetProjectComponent_NoInstanceArg_NotFound_ReturnsFalse() throws Market
whenInvokeAPI(PATH_PROJECT_COMPONENT, HttpMethod.GET).thenThrow(notFoundEx);
when(marketplaceApiClient.getConfig()).thenReturn(instanceConfig);

ProjectComponentExtendedInfo result = marketplaceService.getProjectComponent(projectKey, componentId);
ProjectComponentProvisionStatus result = marketplaceService.getProjectComponent(projectKey, componentId);

assertNull(result);
}
Expand Down
Loading