CreateServiceInstanceBindingRequest(String serviceInstanceId, String serviceDefinitionId, String planId, String bindingId, ServiceDefinition serviceDefinition, Plan plan, boolean asyncAccepted, BindResource bindResource, Map<String, Object> parameters, Context context, String platformInstanceId, String apiInfoLocation, Context originatingIdentity) { super(asyncAccepted, platformInstanceId, apiInfoLocation, originatingIdentity); this.serviceInstanceId = serviceInstanceId; this.serviceDefinitionId = serviceDefinitionId; this.planId = planId; this.bindingId = bindingId; this.serviceDefinition = serviceDefinition; this.plan = plan; this.parameters = parameters; this.bindResource = bindResource; this.appGuid = (bindResource == null ? null : bindResource.getAppGuid()); this.context = context; }
/** * Construct a {@link BindResource} from the provided values. * * @return the newly constructed {@literal BindResource} */ public BindResource build() { return new BindResource(appGuid, route, properties); } }
@Test public void bindResourceIsBuiltWithDefaults() { BindResource bindResource = BindResource.builder() .build(); assertThat(bindResource.getAppGuid()).isNull(); assertThat(bindResource.getRoute()).isNull(); assertThat(bindResource.getProperties()).isEmpty(); }
@Test public void bindResourceIsDeserializedFromJson() { BindResource bindResource = JsonUtils.readTestDataFile("bindResource.json", BindResource.class); assertThat(bindResource.getAppGuid()).isEqualTo("test-app-guid"); assertThat(bindResource.getRoute()).isEqualTo("http://test.example.com"); assertThat(bindResource.getProperties()).hasSize(3); assertThat(bindResource.getProperty("property1")).isEqualTo(1); assertThat(bindResource.getProperty("property2")).isEqualTo("value2"); assertThat(bindResource.getProperty("property3")).isEqualTo(true); }
@Test @SuppressWarnings("serial") public void requestWithAllValuesIsBuilt() { BindResource bindResource = BindResource.builder().build(); Context context = PlatformContext.builder().build(); Map<String, Object> parameters = new HashMap<String, Object>() {{
@Test public void requestIsDeserializedFromJson() { CreateServiceInstanceBindingRequest request = JsonUtils.readTestDataFile("bindRequest.json", CreateServiceInstanceBindingRequest.class); assertThat(request.getServiceDefinitionId()).isEqualTo("test-service-id"); assertThat(request.getPlanId()).isEqualTo("test-plan-id"); assertThat(request.getAppGuid()).isEqualTo("test-app-guid"); Context context = request.getContext(); assertThat(context.getPlatform()).isEqualTo("sample-platform"); assertThat(context).isInstanceOf(Context.class); assertThat(context.getProperty("field1")).isEqualTo("data"); assertThat(context.getProperty("field2")).isEqualTo(2); assertThat(request.getBindResource().getProperty("field1")).isEqualTo("data"); assertThat(request.getBindResource().getProperty("field2")).isEqualTo(2); assertThat(request.getParameters().get("parameter1")).isEqualTo(1); assertThat(request.getParameters().get("parameter2")).isEqualTo("foo"); assertThat(request.getParameters().get("parameter3")).isEqualTo(true); }
@Test @SuppressWarnings("serial") public void bindResourceIsBuiltWithAllValues() { Map<String, Object> parameters = new HashMap<String, Object>() {{ put("parameter3", "value3"); put("parameter4", true); }}; BindResource bindResource = BindResource.builder() .appGuid("app-guid") .route("route") .properties("parameter1", "value1") .properties("parameter2", 2) .properties(parameters) .build(); assertThat(bindResource.getAppGuid()).isEqualTo("app-guid"); assertThat(bindResource.getRoute()).isEqualTo("route"); assertThat(bindResource.getProperties()).hasSize(4); assertThat(bindResource.getProperties().get("parameter1")).isEqualTo("value1"); assertThat(bindResource.getProperties().get("parameter2")).isEqualTo(2); assertThat(bindResource.getProperties().get("parameter3")).isEqualTo("value3"); assertThat(bindResource.getProperties().get("parameter4")).isEqualTo(true); }
private CreateServiceInstanceBindingRequestBuilder buildCreateRequest() { return CreateServiceInstanceBindingRequest.builder() .serviceDefinitionId(serviceDefinition.getId()) .planId("plan-id") .bindResource(BindResource.builder().build()) .parameters("create-param-1", "value1") .parameters("create-param-2", "value2") .context(requestContext); }
CreateServiceInstanceBindingRequest(String serviceInstanceId, String serviceDefinitionId, String planId, String bindingId, ServiceDefinition serviceDefinition, Plan plan, boolean asyncAccepted, BindResource bindResource, Map<String, Object> parameters, Context context, String platformInstanceId, String apiInfoLocation, Context originatingIdentity) { super(asyncAccepted, platformInstanceId, apiInfoLocation, originatingIdentity); this.serviceInstanceId = serviceInstanceId; this.serviceDefinitionId = serviceDefinitionId; this.planId = planId; this.bindingId = bindingId; this.serviceDefinition = serviceDefinition; this.plan = plan; this.parameters = parameters; this.bindResource = bindResource; this.appGuid = (bindResource == null ? null : bindResource.getAppGuid()); this.context = context; }
/** * Construct a {@link BindResource} from the provided values. * * @return the newly constructed {@literal BindResource} */ public BindResource build() { return new BindResource(appGuid, route, properties); } }
@Test public void requestMatchesWithJsonRoundTrip() { CreateServiceInstanceBindingRequest request = CreateServiceInstanceBindingRequest.builder() .serviceDefinitionId("definition-id") .planId("plan-id") .parameters("param1", "value1") .parameters("param2", "value2") .bindResource(BindResource.builder() .appGuid("app-guid") .route("route") .properties("resource-param1", "value1") .properties("resource-param2", "value2") .build()) .context(PlatformContext.builder() .platform("sample-platform") .property("context-property1", "value1") .property("context-property2", "value2") .build()) .build(); CreateServiceInstanceBindingRequest fromJson = fromJson(toJson(request), CreateServiceInstanceBindingRequest.class); assertThat(fromJson).isEqualTo(request); }