public void AddPermissionMarshallTest() { var operation = service_model.FindOperation("AddPermission"); var request = InstantiateClassGenerator.Execute<AddPermissionRequest>(); var marshaller = new AddPermissionRequestMarshaller(); var internalRequest = marshaller.Marshall(request); RequestValidator.Validate("AddPermission", request, internalRequest, service_model); var webResponse = new WebResponseData { Headers = { {"x-amzn-RequestId", Guid.NewGuid().ToString()}, {"x-amz-crc32","0"} } }; var payloadResponse = new JsonSampleGenerator(service_model, operation.ResponseStructure).Execute(); webResponse.Headers.Add("Content-Length", UTF8Encoding.UTF8.GetBytes(payloadResponse).Length.ToString()); var context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(payloadResponse), false, webResponse); ResponseUnmarshaller unmarshaller = AddPermissionResponseUnmarshaller.Instance; var response = unmarshaller.Unmarshall(context) as AddPermissionResponse; InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); }
public void AddEventSourceMarshallTestForDataTypeCustomization() { var operation = service_model.FindOperation("AddEventSource"); var request = InstantiateClassGenerator.Execute<AddEventSourceRequest>(); var marshaller = new AddEventSourceRequestMarshaller(); var internalRequest = marshaller.Marshall(request); RequestValidator.Validate("AddEventSource", request, internalRequest, service_model); var webResponse = new WebResponseData { Headers = { {"x-amzn-RequestId", Guid.NewGuid().ToString()}, {"x-amz-crc32","0"} } }; var payloadResponse = new JsonSampleGenerator(service_model, operation.ResponseStructure).Execute(); // The service returns IsActive as a string and it's unmarshalled as a bool to set the // AddEventSourceResponse.IsActive bool property. if (payloadResponse.Contains("\"IsActive\" : true")) payloadResponse = payloadResponse.Replace("\"IsActive\" : true", "\"IsActive\" : \"true\""); else throw new InvalidOperationException("Could not replace json in sample response"); webResponse.Headers.Add("Content-Length", UTF8Encoding.UTF8.GetBytes(payloadResponse).Length.ToString()); var context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(payloadResponse), false, webResponse); ResponseUnmarshaller unmarshaller = AddEventSourceResponseUnmarshaller.Instance; var response = unmarshaller.Unmarshall(context) as AddEventSourceResponse; InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); }
void Generate(ServiceModel model, string operationName, out string requestJson, out string responseJson) { var operation = model.Operations.First(x => x.Name == operationName); JsonSampleGenerator generator = new JsonSampleGenerator(model, operation.RequestStructure); requestJson = generator.Execute(); generator = new JsonSampleGenerator(model, operation.ResponseStructure); responseJson = generator.Execute(); }
public void CreateClusterMarshallTest() { var request = InstantiateClassGenerator.Execute<CreateClusterRequest>(); var marshaller = new CreateClusterRequestMarshaller(); var internalRequest = marshaller.Marshall(request); var jsonRequest = UTF8Encoding.UTF8.GetString(internalRequest.Content); Comparer.CompareObjectToJson<CreateClusterRequest>(request,jsonRequest); var webResponse = new WebResponseData { Headers = { {"x-amzn-RequestId", Guid.NewGuid().ToString()}, {"x-amz-crc32","0"} } }; var jsonResponse = new JsonSampleGenerator(service_model, service_model.FindOperation("CreateCluster").ResponseStructure).Execute(); webResponse.Headers.Add("Content-Length", UTF8Encoding.UTF8.GetBytes(jsonResponse).Length.ToString()); UnmarshallerContext context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(jsonResponse), false, webResponse); var response = CreateClusterResponseUnmarshaller.Instance.Unmarshall(context) as CreateClusterResponse; InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); }
public void GetJobOutputMarshallTest() { var operation = service_model.FindOperation("GetJobOutput"); var request = InstantiateClassGenerator.Execute<GetJobOutputRequest>(); var marshaller = new GetJobOutputRequestMarshaller(); var internalRequest = marshaller.Marshall(request); RequestValidator.Validate("GetJobOutput", request, internalRequest, service_model); var webResponse = new WebResponseData { Headers = { {"Accept-Ranges","Accept-Ranges_Value"}, {"x-amz-archive-description","x-amz-archive-description_Value"}, {"x-amz-sha256-tree-hash","x-amz-sha256-tree-hash_Value"}, {"Content-Range","Content-Range_Value"}, {"Content-Type","Content-Type_Value"}, {"x-amzn-RequestId", Guid.NewGuid().ToString()}, {"x-amz-crc32","0"} } }; var payloadResponse = new JsonSampleGenerator(service_model, operation.ResponseStructure).Execute(); webResponse.Headers.Add("Content-Length", UTF8Encoding.UTF8.GetBytes(payloadResponse).Length.ToString()); var context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(payloadResponse), false, webResponse); ResponseUnmarshaller unmarshaller = GetJobOutputResponseUnmarshaller.Instance; var response = unmarshaller.Unmarshall(context) as GetJobOutputResponse; InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); }
public void SynthesizeSpeechMarshallTest() { var operation = service_model.FindOperation("SynthesizeSpeech"); var request = InstantiateClassGenerator.Execute<SynthesizeSpeechRequest>(); var marshaller = new SynthesizeSpeechRequestMarshaller(); var internalRequest = marshaller.Marshall(request); RequestValidator.Validate("SynthesizeSpeech", request, internalRequest, service_model); var webResponse = new WebResponseData { Headers = { {"Content-Type","Content-Type_Value"}, {"x-amzn-RequestCharacters",int.MaxValue.ToString(CultureInfo.InvariantCulture)}, {"x-amzn-RequestId", Guid.NewGuid().ToString()}, {"x-amz-crc32","0"} } }; var payloadResponse = new JsonSampleGenerator(service_model, operation.ResponseStructure).Execute(); webResponse.Headers.Add("Content-Length", UTF8Encoding.UTF8.GetBytes(payloadResponse).Length.ToString()); var context = new JsonUnmarshallerContext(Utils.CreateStreamFromString(payloadResponse), false, webResponse); ResponseUnmarshaller unmarshaller = SynthesizeSpeechResponseUnmarshaller.Instance; var response = unmarshaller.Unmarshall(context) as SynthesizeSpeechResponse; InstantiateClassGenerator.ValidateObjectFullyInstantiated(response); }