use of com.spectralogic.ds3autogen.api.FileUtils in project ds3_autogen by SpectraLogic.
the class NetCodeGenerator_Test method GetBlobPersistenceRequest.
@Test
public void GetBlobPersistenceRequest() throws IOException, TemplateModelException {
final String requestName = "GetBlobPersistenceSpectraS3Request";
final FileUtils fileUtils = mock(FileUtils.class);
final TestGenerateCode codeGenerator = new TestGenerateCode(fileUtils, requestName, "./Ds3/Calls/");
codeGenerator.generateCode(fileUtils, "/input/getBlobPersistenceRequest.xml");
final String requestCode = codeGenerator.getRequestCode();
CODE_LOGGER.logFile(requestCode, FileTypeToLog.REQUEST);
assertTrue(TestHelper.extendsClass(requestName, "Ds3Request", requestCode));
assertTrue(TestHelper.hasProperty("Verb", "HttpVerb", requestCode));
assertTrue(TestHelper.hasProperty("Path", "string", requestCode));
assertTrue(TestHelper.hasRequiredParam("RequestPayload", "string", requestCode));
final ImmutableList<Arguments> constructorArgs = ImmutableList.of(new Arguments("string", "RequestPayload"));
assertTrue(TestHelper.hasConstructor(requestName, constructorArgs, requestCode));
//Generate Client code
final String commandName = requestName.replace("Request", "");
final String clientCode = codeGenerator.getClientCode();
CODE_LOGGER.logFile(clientCode, FileTypeToLog.CLIENT);
assertTrue(TestHelper.hasPayloadCommand(commandName, clientCode));
final String idsClientCode = codeGenerator.getIdsClientCode();
CODE_LOGGER.logFile(idsClientCode, FileTypeToLog.CLIENT);
assertTrue(TestHelper.hasIDsCommand(commandName, idsClientCode));
//Generate Responses
final String responseCode = codeGenerator.getResponseCode();
CODE_LOGGER.logFile(responseCode, FileTypeToLog.RESPONSE);
final String responseName = NormalizingContractNamesUtil.toResponseName(requestName);
final String responsePayloadType = "string";
assertTrue(TestHelper.hasConstructor(responseName, ImmutableList.of(new Arguments(responsePayloadType, "ResponsePayload")), responseCode));
assertTrue(TestHelper.hasRequiredParam("ResponsePayload", responsePayloadType, responseCode));
//Generate Parser
final String parserCode = codeGenerator.getParserCode();
CODE_LOGGER.logFile(parserCode, FileTypeToLog.PARSER);
assertTrue(hasContent(parserCode));
assertTrue(parserHasResponseCode(200, parserCode));
assertFalse(parserHasPayload("String", "Data", parserCode));
assertTrue(parserCode.contains("return new GetBlobPersistenceSpectraS3Response(sr.ReadToEnd());"));
}
use of com.spectralogic.ds3autogen.api.FileUtils in project ds3_autogen by SpectraLogic.
the class NetCodeGenerator_Test method createVerifyJobRequestHandler.
@Test
public void createVerifyJobRequestHandler() throws IOException, TemplateModelException {
final String requestName = "VerifyBulkJobSpectraS3Request";
final FileUtils fileUtils = mock(FileUtils.class);
final TestGenerateCode codeGenerator = new TestGenerateCode(fileUtils, requestName, "./Ds3/Calls/", "MasterObjectList");
codeGenerator.generateCode(fileUtils, "/input/createVerifyJobRequest.xml");
final String requestCode = codeGenerator.getRequestCode();
CODE_LOGGER.logFile(requestCode, FileTypeToLog.REQUEST);
assertTrue(TestHelper.extendsClass(requestName, "Ds3Request", requestCode));
assertTrue(TestHelper.hasProperty("Verb", "HttpVerb", requestCode));
assertTrue(TestHelper.hasProperty("Path", "string", requestCode));
assertTrue(TestHelper.hasRequiredParam("BucketName", "string", requestCode));
assertTrue(TestHelper.hasRequiredParam("Objects", "IEnumerable<Ds3Object>", requestCode));
assertTrue(TestHelper.hasOptionalParam(requestName, "Aggregating", "bool", requestCode));
assertTrue(TestHelper.hasOptionalParam(requestName, "Name", "string", requestCode));
assertTrue(TestHelper.hasOptionalParam(requestName, "Priority", "Priority", requestCode));
final ImmutableList<Arguments> constructorArgs = ImmutableList.of(new Arguments("String", "BucketName"), new Arguments("IEnumerable<Ds3Object>", "Objects"));
assertTrue(TestHelper.hasConstructor(requestName, constructorArgs, requestCode));
//Generate Client code
final String commandName = requestName.replace("Request", "");
final String clientCode = codeGenerator.getClientCode();
CODE_LOGGER.logFile(clientCode, FileTypeToLog.CLIENT);
assertTrue(TestHelper.hasPayloadCommand(commandName, clientCode));
final String idsClientCode = codeGenerator.getIdsClientCode();
CODE_LOGGER.logFile(idsClientCode, FileTypeToLog.CLIENT);
assertTrue(TestHelper.hasIDsCommand(commandName, idsClientCode));
//Generate Responses
final String responseCode = codeGenerator.getResponseCode();
CODE_LOGGER.logFile(responseCode, FileTypeToLog.RESPONSE);
final String responseName = NormalizingContractNamesUtil.toResponseName(requestName);
final String responsePayloadType = "MasterObjectList";
assertTrue(TestHelper.hasConstructor(responseName, ImmutableList.of(new Arguments(responsePayloadType, "ResponsePayload")), responseCode));
assertTrue(TestHelper.hasRequiredParam("ResponsePayload", responsePayloadType, responseCode));
//Generate Parser
final String parserCode = codeGenerator.getParserCode();
CODE_LOGGER.logFile(parserCode, FileTypeToLog.PARSER);
assertTrue(hasContent(parserCode));
assertTrue(parserCode.contains("ResponseParseUtilities.HandleStatusCode(response, (HttpStatusCode)200, HttpStatusCode.ServiceUnavailable)"));
assertTrue(parserHasPayload("MasterObjectList", "MasterObjectList", parserCode));
}
use of com.spectralogic.ds3autogen.api.FileUtils in project ds3_autogen by SpectraLogic.
the class NetCodeGenerator_Test method allocateJobChunkRequest_Test.
@Test
public void allocateJobChunkRequest_Test() throws IOException, TemplateModelException {
final String requestName = "AllocateJobChunkSpectraS3Request";
final FileUtils fileUtils = mock(FileUtils.class);
final TestGenerateCode codeGenerator = new TestGenerateCode(fileUtils, requestName, "./Ds3/Calls/", "Objects");
codeGenerator.generateCode(fileUtils, "/input/allocateJobChunkRequest.xml");
final String requestCode = codeGenerator.getRequestCode();
CODE_LOGGER.logFile(requestCode, FileTypeToLog.REQUEST);
assertTrue(TestHelper.extendsClass(requestName, "Ds3Request", requestCode));
assertTrue(TestHelper.hasProperty("Verb", "HttpVerb", requestCode));
assertTrue(TestHelper.hasProperty("Path", "string", requestCode));
assertTrue(TestHelper.hasRequiredParam("JobChunkId", "string", requestCode));
final ImmutableList<Arguments> constructorArgs = ImmutableList.of(new Arguments("Guid", "JobChunkId"));
assertTrue(TestHelper.hasConstructor(requestName, constructorArgs, requestCode));
assertTrue(TestHelper.hasConstructor(requestName, modifyType(constructorArgs, "Guid", "string"), requestCode));
//Generate Client code
final String commandName = requestName.replace("Request", "");
final String clientCode = codeGenerator.getClientCode();
CODE_LOGGER.logFile(clientCode, FileTypeToLog.CLIENT);
assertTrue(TestHelper.hasPayloadCommand(commandName, clientCode));
final String idsClientCode = codeGenerator.getIdsClientCode();
CODE_LOGGER.logFile(idsClientCode, FileTypeToLog.CLIENT);
assertTrue(TestHelper.hasIDsCommand(commandName, idsClientCode));
//Generate Responses
final String responseCode = codeGenerator.getResponseCode();
CODE_LOGGER.logFile(responseCode, FileTypeToLog.RESPONSE);
final String responsePayloadType = "Objects";
assertFalse(TestHelper.hasRequiredParam("ResponsePayload", responsePayloadType, responseCode));
//Generate Parser
final String parserCode = codeGenerator.getParserCode();
CODE_LOGGER.logFile(parserCode, FileTypeToLog.PARSER);
assertTrue(hasContent(parserCode));
assertFalse(parserHasResponseCode(200, parserCode));
assertTrue(parserHasPayload("Objects", "Objects", parserCode));
}
use of com.spectralogic.ds3autogen.api.FileUtils in project ds3_autogen by SpectraLogic.
the class NetCodeGenerator_Test method ejectStorageDomainRequestHandler.
@Test
public void ejectStorageDomainRequestHandler() throws IOException, TemplateModelException {
final String requestName = "EjectStorageDomainSpectraS3Request";
final FileUtils fileUtils = mock(FileUtils.class);
final TestGenerateCode codeGenerator = new TestGenerateCode(fileUtils, requestName, "./Ds3/Calls/", "TapeFailureList");
codeGenerator.generateCode(fileUtils, "/input/ejectStorageDomainRequest.xml");
final String requestCode = codeGenerator.getRequestCode();
CODE_LOGGER.logFile(requestCode, FileTypeToLog.REQUEST);
assertTrue(TestHelper.extendsClass(requestName, "Ds3Request", requestCode));
assertTrue(TestHelper.hasProperty("Verb", "HttpVerb", requestCode));
assertTrue(TestHelper.hasProperty("Path", "string", requestCode));
assertTrue(TestHelper.hasRequiredParam("StorageDomainId", "string", requestCode));
assertFalse(TestHelper.hasRequiredParam("Objects", "IEnumerable<Ds3Object>", requestCode));
assertTrue(TestHelper.hasOptionalParam(requestName, "EjectLabel", "string", requestCode));
assertTrue(TestHelper.hasOptionalParam(requestName, "EjectLocation", "string", requestCode));
assertTrue(TestHelper.hasOptionalParam(requestName, "BucketId", "Guid", requestCode));
final ImmutableList<Arguments> constructorArgs = ImmutableList.of(new Arguments("Guid", "StorageDomainId"));
assertTrue(TestHelper.hasConstructor(requestName, constructorArgs, requestCode));
assertTrue(TestHelper.hasConstructor(requestName, modifyType(constructorArgs, "Guid", "string"), requestCode));
//Generate Client code
final String commandName = requestName.replace("Request", "");
final String clientCode = codeGenerator.getClientCode();
CODE_LOGGER.logFile(clientCode, FileTypeToLog.CLIENT);
assertTrue(TestHelper.hasPayloadCommand(commandName, clientCode));
final String idsClientCode = codeGenerator.getIdsClientCode();
CODE_LOGGER.logFile(idsClientCode, FileTypeToLog.CLIENT);
assertTrue(TestHelper.hasIDsCommand(commandName, idsClientCode));
//Generate Responses
final String responseCode = codeGenerator.getResponseCode();
CODE_LOGGER.logFile(responseCode, FileTypeToLog.RESPONSE);
final String responseName = NormalizingContractNamesUtil.toResponseName(requestName);
final String responsePayloadType = "TapeFailureList";
assertTrue(TestHelper.hasConstructor(responseName, ImmutableList.of(new Arguments(responsePayloadType, "ResponsePayload")), responseCode));
assertTrue(TestHelper.hasRequiredParam("ResponsePayload", responsePayloadType, responseCode));
//Generate Parser
final String parserCode = codeGenerator.getParserCode();
CODE_LOGGER.logFile(parserCode, FileTypeToLog.PARSER);
assertTrue(hasContent(parserCode));
assertTrue(parserHasResponseCode(207, parserCode));
assertTrue(parserHasPayload("TapeFailureList", "Data", parserCode));
}
use of com.spectralogic.ds3autogen.api.FileUtils in project ds3_autogen by SpectraLogic.
the class NetCodeGenerator_Docs_Test method getBucketRequest_Test.
@Test
public void getBucketRequest_Test() throws IOException, TemplateModelException {
final String requestName = "GetBucketRequest";
final FileUtils fileUtils = mock(FileUtils.class);
final TestGenerateCode codeGenerator = new TestGenerateCode(fileUtils, requestName, "./Ds3/Calls/", "ListBucketResult");
final Ds3DocSpec docSpec = new Ds3DocSpecImpl(ImmutableMap.of(requestName, "This is how you use the request"), ImmutableMap.of("Delimiter", "This is how you use delimiter", "Marker", "This is how you use marker", "MaxKeys", "This is how you use max keys", "Prefix", "This is how you use prefix", "BucketName", "This is how you use bucket name"));
codeGenerator.generateCode(fileUtils, "/input/getBucketRequest.xml", docSpec);
//Generate Request code
final String requestCode = codeGenerator.getRequestCode();
CODE_LOGGER.logFile(requestCode, FileTypeToLog.REQUEST);
assertTrue(requestCode.contains(toConstructorDocs(requestName, ImmutableList.of("Delimiter"), docSpec, 2)));
assertTrue(requestCode.contains(toConstructorDocs(requestName, ImmutableList.of("Marker"), docSpec, 2)));
assertTrue(requestCode.contains(toConstructorDocs(requestName, ImmutableList.of("MaxKeys"), docSpec, 2)));
assertTrue(requestCode.contains(toConstructorDocs(requestName, ImmutableList.of("Prefix"), docSpec, 2)));
assertTrue(requestCode.contains(toConstructorDocs(requestName, ImmutableList.of("BucketName"), docSpec, 2)));
//Generate Client code
final String idsClientCode = codeGenerator.getIdsClientCode();
CODE_LOGGER.logFile(idsClientCode, FileTypeToLog.CLIENT);
final String expectedCommandDoc = "/// <summary>\n" + " /// This is how you use the request\n" + " /// </summary>\n" + " /// <param name=\"request\"></param>\n" + " /// <returns></returns>";
assertTrue(idsClientCode.contains(expectedCommandDoc));
}
Aggregations