protected String encodeOriginatingIdentity(Context context) { Map<String, Object> properties = context.getProperties(); String propertiesJson = JsonUtils.toJson(properties); return context.getPlatform() + " " + Base64.getEncoder().encodeToString(propertiesJson.getBytes()); }
protected void assertHeaderValuesSet(ServiceBrokerRequest actualRequest) { assertThat(actualRequest.getPlatformInstanceId()).isEqualTo(PLATFORM_INSTANCE_ID); assertThat(actualRequest.getApiInfoLocation()).isEqualTo(API_INFO_LOCATION); assertThat(actualRequest.getOriginatingIdentity()).isNotNull(); Context identity = actualRequest.getOriginatingIdentity(); assertThat(identity.getPlatform()).isEqualTo(ORIGINATING_IDENTITY_PLATFORM); assertThat(identity.getProperty(ORIGINATING_USER_KEY)).isEqualTo(ORIGINATING_USER_VALUE); assertThat(identity.getProperty(ORIGINATING_EMAIL_KEY)).isEqualTo(ORIGINATING_EMAIL_VALUE); }
@Test public void originatingIdentityWithUnknownPlatform() { Context context = controller.testOriginatingIdentity("test-platform " + encode(JSON_STRING)); assertThat(context).isInstanceOf(PlatformContext.class); assertThat(context.getPlatform()).isEqualTo("test-platform"); assertThat(context.getProperty("key1")).isEqualTo("value1"); assertThat(context.getProperty("key2")).isEqualTo("value2"); }
@Test public void requestWithCloudFoundryContextIsDeserializedFromJson() { AsyncParameterizedServiceInstanceRequest request = JsonUtils.readTestDataFile("requestWithParametersAndCloudFoundryContext.json", CreateServiceInstanceRequest.class); assertThat(request.getContext().getPlatform()).isEqualTo(CLOUD_FOUNDRY_PLATFORM); assertThat(request.getContext()).isInstanceOf(CloudFoundryContext.class); CloudFoundryContext context = (CloudFoundryContext) request.getContext(); assertThat(context.getOrganizationGuid()).isEqualTo("test-organization-guid"); assertThat(context.getSpaceGuid()).isEqualTo("test-space-guid"); assertThat(context.getProperty("field1")).isEqualTo("data"); assertThat(context.getProperty("field2")).isEqualTo(2); Map<String, Object> parameters = request.getParameters(); assertThat(parameters).hasSize(3); assertThat(parameters.get("parameter1")).isEqualTo(1); assertThat(parameters.get("parameter2")).isEqualTo("foo"); assertThat(parameters.get("parameter3")).isEqualTo(true); }
@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 public void requestWithKubernetesContextIsDeserializedFromJson() { AsyncParameterizedServiceInstanceRequest request = JsonUtils.readTestDataFile("requestWithEmptyParametersAndKubernetesContext.json", CreateServiceInstanceRequest.class); assertThat(request.getContext().getPlatform()).isEqualTo(KUBERNETES_PLATFORM); assertThat(request.getContext()).isInstanceOf(KubernetesContext.class); KubernetesContext context = (KubernetesContext) request.getContext(); assertThat(context.getNamespace()).isEqualTo("test-namespace"); assertThat(context.getProperty("field1")).isEqualTo("data"); assertThat(context.getProperty("field2")).isEqualTo(2); assertThat(request.getParameters()).hasSize(0); }
@Test public void requestWithUnknownContextIsDeserializedFromJson() { AsyncParameterizedServiceInstanceRequest request = JsonUtils.readTestDataFile("requestWithCustomContext.json", CreateServiceInstanceRequest.class); assertThat(request.getContext().getPlatform()).isEqualTo("test-platform"); assertThat(request.getContext().getProperty("field1")).isEqualTo("data"); assertThat(request.getContext().getProperty("field2")).isEqualTo(2); assertThat(request.getParameters()).isNull(); }