@@ -13,6 +13,67 @@ def setUpClass(cls):
1313 def setUp (self ):
1414 self .build_client ()
1515
16+ def test_create_managed_service_instance (self ):
17+ self .client .post .return_value = self .mock_response (
18+ "/v3/service_credential_bindings" , HTTPStatus .ACCEPTED ,
19+ dict (Location = "https://api.example.org/v3/jobs/af5c57f6-8769-41fa-a499-2c84ed896788" )
20+ )
21+ location = self .client .v3 .service_credential_bindings .create ("some-binding-name" , "app" ,
22+ "7304bc3c-7010-11ea-8840-48bf6bec2d78" ,
23+ "e0e4417c-74ee-11ea-a604-48bf6bec2d78" ,
24+ parameters = dict (key1 = "value1" , key2 = "value2" ),
25+ meta_labels = dict (foo = "bar" ),
26+ meta_annotations = dict (baz = "qux" ))
27+
28+ self .assertEqual ("af5c57f6-8769-41fa-a499-2c84ed896788" , location )
29+ self .client .post .assert_called_with (
30+ self .client .post .return_value .url ,
31+ json = {
32+ "type" : "app" ,
33+ "name" : "some-binding-name" ,
34+ "relationships" : {
35+ "service_instance" : {
36+ "data" : {"guid" : "7304bc3c-7010-11ea-8840-48bf6bec2d78" }
37+ },
38+ "app" : {
39+ "data" : {"guid" : "e0e4417c-74ee-11ea-a604-48bf6bec2d78" }
40+ }
41+ },
42+ "parameters" : {"key1" : "value1" , "key2" : "value2" },
43+ "metadata" : {"labels" : {"foo" : "bar" }, "annotations" : {"baz" : "qux" }},
44+ },
45+ )
46+
47+ def test_create_user_provided_service_instance (self ):
48+ self .client .post .return_value = self .mock_response (
49+ "/v3/service_credential_bindings" , HTTPStatus .ACCEPTED ,
50+ None ,
51+ "v3" , "service_credential_bindings" , "POST_response.json"
52+ )
53+ result = self .client .v3 .service_credential_bindings .create ("some-binding-name" , "key" ,
54+ "7304bc3c-7010-11ea-8840-48bf6bec2d78" ,
55+ None ,
56+ parameters = dict (key1 = "value1" , key2 = "value2" ),
57+ meta_labels = dict (foo = "bar" ),
58+ meta_annotations = dict (baz = "qux" ))
59+ self .assertIsNotNone (result )
60+ self .assertEqual ("some-name" , result ["name" ])
61+ self .assertIsInstance (result , Entity )
62+ self .client .post .assert_called_with (
63+ self .client .post .return_value .url ,
64+ json = {
65+ "type" : "key" ,
66+ "name" : "some-binding-name" ,
67+ "relationships" : {
68+ "service_instance" : {
69+ "data" : {"guid" : "7304bc3c-7010-11ea-8840-48bf6bec2d78" }
70+ }
71+ },
72+ "parameters" : {"key1" : "value1" , "key2" : "value2" },
73+ "metadata" : {"labels" : {"foo" : "bar" }, "annotations" : {"baz" : "qux" }},
74+ },
75+ )
76+
1677 def test_list (self ):
1778 self .client .get .return_value = self .mock_response (
1879 "/v3/service_credential_bindings" , HTTPStatus .OK , None , "v3" , "service_credential_bindings" ,
0 commit comments