package fr.gouv.vitam.access.external.client; import java.io.InputStream; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import com.fasterxml.jackson.databind.JsonNode; import fr.gouv.vitam.access.external.api.AdminCollections; import fr.gouv.vitam.access.external.common.exception.AccessExternalClientException; import fr.gouv.vitam.access.external.common.exception.AccessExternalClientNotFoundException; import fr.gouv.vitam.common.client.AbstractMockClient; import fr.gouv.vitam.common.client.ClientMockResultHelper; import fr.gouv.vitam.common.exception.InvalidParseOperationException; import fr.gouv.vitam.common.model.RequestResponse; import fr.gouv.vitam.common.stream.StreamUtils; /** * Mock client implementation for Admin External */ public class AdminExternalClientMock extends AbstractMockClient implements AdminExternalClient { private static final String COLLECTION_NOT_VALID = "Collection not valid"; @Override public Response checkDocuments(AdminCollections documentType, InputStream stream, Integer tenantId) throws AccessExternalClientNotFoundException, AccessExternalClientException { StreamUtils.closeSilently(stream); if (AdminCollections.RULES.equals(documentType) || AdminCollections.FORMATS.equals(documentType)) { return Response.ok().build(); } throw new AccessExternalClientNotFoundException(COLLECTION_NOT_VALID); } @Override public Response createDocuments(AdminCollections documentType, InputStream stream, Integer tenantId) throws AccessExternalClientNotFoundException, AccessExternalClientException { StreamUtils.closeSilently(stream); return Response.ok().build(); } @Override public RequestResponse findDocuments(AdminCollections documentType, JsonNode select, Integer tenantId) throws AccessExternalClientNotFoundException, AccessExternalClientException, InvalidParseOperationException { if (AdminCollections.RULES.equals(documentType)) { return ClientMockResultHelper.getRuleList(); } if (AdminCollections.FORMATS.equals(documentType)) { return ClientMockResultHelper.getFormatList(); } throw new AccessExternalClientNotFoundException(COLLECTION_NOT_VALID); } @Override public RequestResponse findDocumentById(AdminCollections documentType, String documentId, Integer tenantId) throws AccessExternalClientException, InvalidParseOperationException { if (AdminCollections.RULES.equals(documentType)) { return ClientMockResultHelper.getRule(); } if (AdminCollections.FORMATS.equals(documentType)) { return ClientMockResultHelper.getFormat(); } throw new AccessExternalClientNotFoundException(COLLECTION_NOT_VALID); } }