github.com/IBM-Cloud/bluemix-go@v0.0.0-20240314082800-4e02a69b84b2/api/icd/icdv4/connection_test.go (about) 1 package icdv4 2 3 import ( 4 "log" 5 "net/http" 6 7 bluemix "github.com/IBM-Cloud/bluemix-go" 8 "github.com/IBM-Cloud/bluemix-go/client" 9 bluemixHttp "github.com/IBM-Cloud/bluemix-go/http" 10 "github.com/IBM-Cloud/bluemix-go/session" 11 12 "github.com/onsi/gomega/ghttp" 13 14 . "github.com/onsi/ginkgo" 15 . "github.com/onsi/gomega" 16 ) 17 18 var _ = Describe("connections", func() { 19 var server *ghttp.Server 20 AfterEach(func() { 21 server.Close() 22 }) 23 Describe("Get Postgres", func() { 24 Context("When get is successful", func() { 25 BeforeEach(func() { 26 server = ghttp.NewServer() 27 server.AppendHandlers( 28 ghttp.CombineHandlers( 29 ghttp.VerifyRequest(http.MethodGet, "/v4/ibm/deployments/crn:v1:staging:public:iam::::apikey:ApiKey-62fefdd1-4557-4c7d-8a1c-f6da7ee2ff3a/users/anyone/connections/public"), 30 ghttp.RespondWith(http.StatusOK, ` 31 { 32 "connection": { 33 "postgres": { 34 "composed": [ 35 "postgres://admin:$PASSWORD@1b8f53db-fc2d-4e24-8470-f82b15c71717.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud:32121/ibmclouddb?sslmode=verify-full" 36 ], 37 "type": "uri", 38 "scheme": "postgres", 39 "hosts": [ 40 { 41 "hostname": "1b8f53db-fc2d-4e24-8470-f82b15c71717.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud", 42 "port": 32121 43 } 44 ], 45 "path": "/ibmclouddb", 46 "query_options": null, 47 "authentication": { 48 "method": "direct", 49 "username": "admin", 50 "password": "$PASSWORD" 51 }, 52 "database": "ibmclouddb", 53 "certificate": { 54 "name": "0b22f14b-7ba2-11e8-b8e9-568642342d40", 55 "certificate_base64": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURE..." 56 } 57 }, 58 "cli": { 59 "composed": [ 60 "PGPASSWORD=$PASSWORD PGSSLROOTCERT=0b22f14b-7ba2-11e8-b8e9-568642342d40 psql 'host=1b8f53db-fc2d-4e24-8470-f82b15c71717.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud port=32121 dbname=ibmclouddb user=admin sslmode=verify-full" 61 ], 62 "type": "cli", 63 "environment": { 64 "PGPASSWORD": "$PASSWORD" 65 }, 66 "bin": "psql", 67 "arguments": [ 68 [ 69 "host=1b8f53db-fc2d-4e24-8470-f82b15c71717.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud port=32121 dbname=ibmclouddb user=admin sslmode=verify-full" 70 ] 71 ], 72 "certificate": { 73 "name": "0b22f14b-7ba2-11e8-b8e9-568642342d40", 74 "certificate_base64": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURE..." 75 } 76 } 77 } 78 } 79 `), 80 ), 81 ) 82 }) 83 84 It("should return connection", func() { 85 target := "crn:v1:staging:public:iam::::apikey:ApiKey-62fefdd1-4557-4c7d-8a1c-f6da7ee2ff3a" 86 userId := "anyone" 87 connection, err := newConnection(server.URL()).GetConnection(target, userId) 88 Expect(err).NotTo(HaveOccurred()) 89 Expect(connection).ShouldNot(BeNil()) 90 Expect(connection.Postgres).ShouldNot(BeNil()) 91 // Expect(connection.Postgres.Composed[0]).Should(Equal("postgres://admin:$PASSWORD@1b8f53db-fc2d-4e24-8470-f82b15c71717.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud:32121/ibmclouddb?sslmode=verify-full")) 92 // Expect(connection.Postgres.Type).Should(Equal("uri")) 93 // Expect(connection.Postgres.Scheme).Should(Equal("postgres")) 94 // Expect(connection.Postgres.Path).Should(Equal("/ibmclouddb")) 95 // Expect(connection.Postgres.Hosts[0].HostName).Should(Equal("1b8f53db-fc2d-4e24-8470-f82b15c71717.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud")) 96 // Expect(connection.Postgres.Hosts[0].Port).Should(Equal(32121)) 97 // //Expect(connection.Postgres.QueryOptions).Should(Equal("")) 98 // Expect(connection.Postgres.Authentication.Method).Should(Equal("direct")) 99 // Expect(connection.Postgres.Authentication.UserName).Should(Equal("admin")) 100 // Expect(connection.Postgres.Authentication.Password).Should(Equal("$PASSWORD")) 101 // Expect(connection.Postgres.Certificate.Name).Should(Equal("0b22f14b-7ba2-11e8-b8e9-568642342d40")) 102 // Expect(connection.Postgres.Certificate.CertificateBase64).Should(Equal("LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURE...")) 103 // Expect(connection.Postgres.Database).Should(BeEquivalentTo("ibmclouddb")) 104 // Expect(connection.Cli.Composed[0]).Should(Equal("PGPASSWORD=$PASSWORD PGSSLROOTCERT=0b22f14b-7ba2-11e8-b8e9-568642342d40 psql 'host=1b8f53db-fc2d-4e24-8470-f82b15c71717.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud port=32121 dbname=ibmclouddb user=admin sslmode=verify-full")) 105 // Expect(connection.Cli.Type).Should(Equal("cli")) 106 // Expect(connection.Cli.Bin).Should(Equal("psql")) 107 // Expect(connection.Cli.Arguments[0][0]).Should(Equal("host=1b8f53db-fc2d-4e24-8470-f82b15c71717.8f7bfd8f3faa4218aec56e069eb46187.databases.appdomain.cloud port=32121 dbname=ibmclouddb user=admin sslmode=verify-full")) 108 // Expect(connection.Cli.Certificate.Name).Should(Equal("0b22f14b-7ba2-11e8-b8e9-568642342d40")) 109 // Expect(connection.Cli.Certificate.CertificateBase64).Should(Equal("LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURE...")) 110 }) 111 }) 112 Context("When get is unsuccessful", func() { 113 BeforeEach(func() { 114 server = ghttp.NewServer() 115 server.SetAllowUnhandledRequests(true) 116 server.AppendHandlers( 117 ghttp.CombineHandlers( 118 ghttp.VerifyRequest(http.MethodGet, "/v4/ibm/deployments/crn:v1:staging:public:iam::::apikey:ApiKey-62fefdd1-4557-4c7d-8a1c-f6da7ee2ff3a/users/anyone/connections/public"), 119 ghttp.RespondWith(http.StatusInternalServerError, `Failed to get connection`), 120 ), 121 ) 122 }) 123 124 It("should return error during get connection", func() { 125 target := "crn:v1:staging:public:iam::::apikey:ApiKey-62fefdd1-4557-4c7d-8a1c-f6da7ee2ff3a" 126 userId := "anyone" 127 _, err := newConnection(server.URL()).GetConnection(target, userId) 128 Expect(err).To(HaveOccurred()) 129 //Expect(connection).Should(Equal("")) 130 }) 131 }) 132 }) 133 134 Describe("Get Rediss", func() { 135 Context("When get is successful", func() { 136 BeforeEach(func() { 137 server = ghttp.NewServer() 138 server.AppendHandlers( 139 ghttp.CombineHandlers( 140 ghttp.VerifyRequest(http.MethodGet, "/v4/ibm/deployments/crn:v1:staging:public:iam::::apikey:ApiKey-62fefdd1-4557-4c7d-8a1c-f6da7ee2ff3a/users/anyone/connections/public"), 141 ghttp.RespondWith(http.StatusOK, 142 // ` 143 // {"connection": 144 // { 145 // "rediss":{"composed":["rediss://admin:$PASSWORD@9f7c2c13-5061-46ca-8153-f7d6c0baba7b.974550db55eb4ec0983f023940bf637f.databases.appdomain.cloud:30348/0"], 146 // "type":"uri", 147 // "scheme":"rediss", 148 // "hosts":[{"hostname":"9f7c2c13-5061-46ca-8153-f7d6c0baba7b.974550db55eb4ec0983f023940bf637f.databases.appdomain.cloud", 149 // "port":30348, 150 // "protocol":""}], 151 // "path":"/0", 152 // "query_options":{}, 153 // "authentication":{"method":"direct","username":"admin","password":"$PASSWORD"}, 154 // "certificate":{"name":"c5f07736-d94c-11e8-a2e9-62ec2ed68f84", 155 // "certificate_base64":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tL"}, 156 // "database":0}, 157 // "cli": 158 // { 159 // "composed":["REDIS_CERTFILE=c5f07736-d94c-11e8-a2e9-62ec2ed68f84 redli -u rediss://admin:$PASSWORD@9f7c2c13-5061-46ca-8153-f7d6c0baba7b.974550db55eb4ec0983f023940bf637f.databases.appdomain.cloud:30348/0"], 160 // "type":"cli", 161 // "environment":{"REDIS_CERTFILE":"c5f07736-d94c-11e8-a2e9-62ec2ed68f84"}, 162 // "bin":"redli", 163 // "arguments":[["-u","rediss://admin:$PASSWORD@9f7c2c13-5061-46ca-8153-f7d6c0baba7b.974550db55eb4ec0983f023940bf637f.databases.appdomain.cloud:30348/0"]], 164 // "certificate":{"name":"c5f07736-d94c-11e8-a2e9-62ec2ed68f84", 165 // "certificate_base64":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tL"} 166 // } 167 // } 168 // } 169 // ` 170 ` 171 {"connection":{"rediss":{"composed":["rediss://admin:$PASSWORD@9f7c2c13-5061-46ca-8153-f7d6c0baba7b.974550db55eb4ec0983f023940bf637f.databases.appdomain.cloud:30348/0"],"type":"uri","scheme":"rediss","hosts":[{"hostname":"9f7c2c13-5061-46ca-8153-f7d6c0baba7b.974550db55eb4ec0983f023940bf637f.databases.appdomain.cloud","port":30348,"protocol":""}],"path":"/0","query_options":{},"authentication":{"method":"direct","username":"admin","password":"[PRIVATE DATA HIDDEN]"},"certificate":{"name":"c5f07736-d94c-11e8-a2e9-62ec2ed68f84","certificate_base64":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUREekNDQWZlZ0F3SUJBZ0lKQU5FSDU4eTIva3pITUEwR0NTcUdTSWIzRFFFQkN3VUFNQjR4SERBYUJnTlYKQkFNTUUwbENUU0JEYkc5MVpDQkVZWFJoWW1GelpYTXdIaGNOTVRnd05qSTFNVFF5T1RBd1doY05Namd3TmpJeQpNVFF5T1RBd1dqQWVNUnd3R2dZRFZRUUREQk5KUWswZ1EyeHZkV1FnUkdGMFlXSmhjMlZ6TUlJQklqQU5CZ2txCmhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBOGxwYVFHemNGZEdxZU1sbXFqZmZNUHBJUWhxcGQ4cUoKUHIzYklrclhKYlRjSko5dUlja1NVY0NqdzRaL3JTZzhublQxM1NDY09sKzF0bys3a2RNaVU4cU9XS2ljZVlaNQp5K3laWWZDa0dhaVpWZmF6UUJtNDV6QnRGV3YrQUIvOGhmQ1RkTkY3Vlk0c3BhQTNvQkUyYVM3T0FOTlNSWlNLCnB3eTI0SVVnVWNJTEpXK21jdlc4MFZ4K0dYUmZEOVl0dDZQUkpnQmhZdVVCcGd6dm5nbUNNR0JuK2wyS05pU2YKd2VvdllEQ0Q2Vm5nbDIrNlc5UUZBRnRXWFdnRjNpRFFENW5sL240bXJpcE1TWDZVRy9uNjY1N3U3VERkZ2t2QQoxZUtJMkZMellLcG9LQmU1cmNuck03bkhnTmMvbkNkRXM1SmVjSGIxZEh2MVFmUG02cHpJeHdJREFRQUJvMUF3ClRqQWRCZ05WSFE0RUZnUVVLMytYWm8xd3lLcytERW9ZWGJIcnV3U3BYamd3SHdZRFZSMGpCQmd3Rm9BVUszK1gKWm8xd3lLcytERW9ZWGJIcnV3U3BYamd3REFZRFZSMFRCQVV3QXdFQi96QU5CZ2txaGtpRzl3MEJBUXNGQUFPQwpBUUVBSmY1ZHZselVwcWFpeDI2cUpFdXFGRzBJUDU3UVFJNVRDUko2WHQvc3VwUkhvNjNlRHZLdzh6Ujd0bFdRCmxWNVAwTjJ4d3VTbDlacUFKdDcvay8zWmVCK25Zd1BveU8zS3ZLdkFUdW5SdmxQQm40RldWWGVhUHNHKzdmaFMKcXNlam1reW9uWXc3N0hSekdPekpINFpnOFVONm1mcGJhV1NzeWFFeHZxa25DcDlTb1RRUDNENjdBeldxYjF6WQpkb3FxZ0dJWjJueENrcDUvRlh4Ri9UTWI1NXZ0ZVRRd2ZnQnk2MGpWVmtiRjdlVk9XQ3YwS2FOSFBGNWhycWJOCmkrM1hqSjcvcGVGM3hNdlRNb3kzNURjVDNFMlplU1Zqb3VaczE1Tzkwa0kzazJkYVMyT0hKQUJXMHZTajRuTHoKK1BRenAvQjljUW1PTzhkQ2UwNDlRM29hVUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgo="},"database":0},"cli":{"composed":["REDIS_CERTFILE=c5f07736-d94c-11e8-a2e9-62ec2ed68f84 redli -u rediss://admin:$PASSWORD@9f7c2c13-5061-46ca-8153-f7d6c0baba7b.974550db55eb4ec0983f023940bf637f.databases.appdomain.cloud:30348/0"],"type":"cli","environment":{"REDIS_CERTFILE":"c5f07736-d94c-11e8-a2e9-62ec2ed68f84"},"bin":"redli","arguments":[["-u","rediss://admin:$PASSWORD@9f7c2c13-5061-46ca-8153-f7d6c0baba7b.974550db55eb4ec0983f023940bf637f.databases.appdomain.cloud:30348/0"]],"certificate":{"name":"c5f07736-d94c-11e8-a2e9-62ec2ed68f84","certificate_base64":"LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUREekNDQWZlZ0F3SUJBZ0lKQU5FSDU4eTIva3pITUEwR0NTcUdTSWIzRFFFQkN3VUFNQjR4SERBYUJnTlYKQkFNTUUwbENUU0JEYkc5MVpDQkVZWFJoWW1GelpYTXdIaGNOTVRnd05qSTFNVFF5T1RBd1doY05Namd3TmpJeQpNVFF5T1RBd1dqQWVNUnd3R2dZRFZRUUREQk5KUWswZ1EyeHZkV1FnUkdGMFlXSmhjMlZ6TUlJQklqQU5CZ2txCmhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBOGxwYVFHemNGZEdxZU1sbXFqZmZNUHBJUWhxcGQ4cUoKUHIzYklrclhKYlRjSko5dUlja1NVY0NqdzRaL3JTZzhublQxM1NDY09sKzF0bys3a2RNaVU4cU9XS2ljZVlaNQp5K3laWWZDa0dhaVpWZmF6UUJtNDV6QnRGV3YrQUIvOGhmQ1RkTkY3Vlk0c3BhQTNvQkUyYVM3T0FOTlNSWlNLCnB3eTI0SVVnVWNJTEpXK21jdlc4MFZ4K0dYUmZEOVl0dDZQUkpnQmhZdVVCcGd6dm5nbUNNR0JuK2wyS05pU2YKd2VvdllEQ0Q2Vm5nbDIrNlc5UUZBRnRXWFdnRjNpRFFENW5sL240bXJpcE1TWDZVRy9uNjY1N3U3VERkZ2t2QQoxZUtJMkZMellLcG9LQmU1cmNuck03bkhnTmMvbkNkRXM1SmVjSGIxZEh2MVFmUG02cHpJeHdJREFRQUJvMUF3ClRqQWRCZ05WSFE0RUZnUVVLMytYWm8xd3lLcytERW9ZWGJIcnV3U3BYamd3SHdZRFZSMGpCQmd3Rm9BVUszK1gKWm8xd3lLcytERW9ZWGJIcnV3U3BYamd3REFZRFZSMFRCQVV3QXdFQi96QU5CZ2txaGtpRzl3MEJBUXNGQUFPQwpBUUVBSmY1ZHZselVwcWFpeDI2cUpFdXFGRzBJUDU3UVFJNVRDUko2WHQvc3VwUkhvNjNlRHZLdzh6Ujd0bFdRCmxWNVAwTjJ4d3VTbDlacUFKdDcvay8zWmVCK25Zd1BveU8zS3ZLdkFUdW5SdmxQQm40RldWWGVhUHNHKzdmaFMKcXNlam1reW9uWXc3N0hSekdPekpINFpnOFVONm1mcGJhV1NzeWFFeHZxa25DcDlTb1RRUDNENjdBeldxYjF6WQpkb3FxZ0dJWjJueENrcDUvRlh4Ri9UTWI1NXZ0ZVRRd2ZnQnk2MGpWVmtiRjdlVk9XQ3YwS2FOSFBGNWhycWJOCmkrM1hqSjcvcGVGM3hNdlRNb3kzNURjVDNFMlplU1Zqb3VaczE1Tzkwa0kzazJkYVMyT0hKQUJXMHZTajRuTHoKK1BRenAvQjljUW1PTzhkQ2UwNDlRM29hVUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgo="}}}} 172 `), 173 ), 174 ) 175 }) 176 177 It("should return connection", func() { 178 target := "crn:v1:staging:public:iam::::apikey:ApiKey-62fefdd1-4557-4c7d-8a1c-f6da7ee2ff3a" 179 userId := "anyone" 180 connection, err := newConnection(server.URL()).GetConnection(target, userId) 181 Expect(err).NotTo(HaveOccurred()) 182 Expect(connection).ShouldNot(BeNil()) 183 Expect(connection.Rediss).ShouldNot(BeNil()) 184 Expect(connection.Rediss.Composed[0]).Should(Equal("rediss://admin:$PASSWORD@9f7c2c13-5061-46ca-8153-f7d6c0baba7b.974550db55eb4ec0983f023940bf637f.databases.appdomain.cloud:30348/0")) 185 // Expect(connection.Rediss.Type).Should(Equal("uri")) 186 // Expect(connection.Rediss.Scheme).Should(Equal("rediss")) 187 // Expect(connection.Rediss.Path).Should(Equal("/0")) 188 // Expect(connection.Rediss.Hosts[0].HostName).Should(Equal("9f7c2c13-5061-46ca-8153-f7d6c0baba7b.974550db55eb4ec0983f023940bf637f.databases.appdomain.cloud")) 189 // Expect(connection.Rediss.Hosts[0].Port).Should(Equal(30348)) 190 // //Expect(connection.Rediss.QueryOptions).Should(Equal("")) 191 // Expect(connection.Rediss.Authentication.Method).Should(Equal("direct")) 192 // Expect(connection.Rediss.Authentication.UserName).Should(Equal("admin")) 193 // //Expect(connection.Rediss.Authentication.Password).Should(Equal("$PASSWORD")) 194 // Expect(connection.Rediss.Certificate.Name).Should(Equal("c5f07736-d94c-11e8-a2e9-62ec2ed68f84")) 195 // Expect(connection.Rediss.Certificate.CertificateBase64).Should(Equal("LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUREekNDQWZlZ0F3SUJBZ0lKQU5FSDU4eTIva3pITUEwR0NTcUdTSWIzRFFFQkN3VUFNQjR4SERBYUJnTlYKQkFNTUUwbENUU0JEYkc5MVpDQkVZWFJoWW1GelpYTXdIaGNOTVRnd05qSTFNVFF5T1RBd1doY05Namd3TmpJeQpNVFF5T1RBd1dqQWVNUnd3R2dZRFZRUUREQk5KUWswZ1EyeHZkV1FnUkdGMFlXSmhjMlZ6TUlJQklqQU5CZ2txCmhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBOGxwYVFHemNGZEdxZU1sbXFqZmZNUHBJUWhxcGQ4cUoKUHIzYklrclhKYlRjSko5dUlja1NVY0NqdzRaL3JTZzhublQxM1NDY09sKzF0bys3a2RNaVU4cU9XS2ljZVlaNQp5K3laWWZDa0dhaVpWZmF6UUJtNDV6QnRGV3YrQUIvOGhmQ1RkTkY3Vlk0c3BhQTNvQkUyYVM3T0FOTlNSWlNLCnB3eTI0SVVnVWNJTEpXK21jdlc4MFZ4K0dYUmZEOVl0dDZQUkpnQmhZdVVCcGd6dm5nbUNNR0JuK2wyS05pU2YKd2VvdllEQ0Q2Vm5nbDIrNlc5UUZBRnRXWFdnRjNpRFFENW5sL240bXJpcE1TWDZVRy9uNjY1N3U3VERkZ2t2QQoxZUtJMkZMellLcG9LQmU1cmNuck03bkhnTmMvbkNkRXM1SmVjSGIxZEh2MVFmUG02cHpJeHdJREFRQUJvMUF3ClRqQWRCZ05WSFE0RUZnUVVLMytYWm8xd3lLcytERW9ZWGJIcnV3U3BYamd3SHdZRFZSMGpCQmd3Rm9BVUszK1gKWm8xd3lLcytERW9ZWGJIcnV3U3BYamd3REFZRFZSMFRCQVV3QXdFQi96QU5CZ2txaGtpRzl3MEJBUXNGQUFPQwpBUUVBSmY1ZHZselVwcWFpeDI2cUpFdXFGRzBJUDU3UVFJNVRDUko2WHQvc3VwUkhvNjNlRHZLdzh6Ujd0bFdRCmxWNVAwTjJ4d3VTbDlacUFKdDcvay8zWmVCK25Zd1BveU8zS3ZLdkFUdW5SdmxQQm40RldWWGVhUHNHKzdmaFMKcXNlam1reW9uWXc3N0hSekdPekpINFpnOFVONm1mcGJhV1NzeWFFeHZxa25DcDlTb1RRUDNENjdBeldxYjF6WQpkb3FxZ0dJWjJueENrcDUvRlh4Ri9UTWI1NXZ0ZVRRd2ZnQnk2MGpWVmtiRjdlVk9XQ3YwS2FOSFBGNWhycWJOCmkrM1hqSjcvcGVGM3hNdlRNb3kzNURjVDNFMlplU1Zqb3VaczE1Tzkwa0kzazJkYVMyT0hKQUJXMHZTajRuTHoKK1BRenAvQjljUW1PTzhkQ2UwNDlRM29hVUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgo=")) 196 // Expect(connection.Rediss.Database).Should(BeEquivalentTo("0")) 197 // Expect(connection.Cli.Composed[0]).Should(Equal("REDIS_CERTFILE=c5f07736-d94c-11e8-a2e9-62ec2ed68f84 redli -u rediss://admin:$PASSWORD@9f7c2c13-5061-46ca-8153-f7d6c0baba7b.974550db55eb4ec0983f023940bf637f.databases.appdomain.cloud:30348/0")) 198 // Expect(connection.Cli.Type).Should(Equal("cli")) 199 // Expect(connection.Cli.Bin).Should(Equal("redli")) 200 // Expect(connection.Cli.Arguments[0][0]).Should(Equal("-u")) 201 // Expect(connection.Cli.Arguments[0][1]).Should(Equal("rediss://admin:$PASSWORD@9f7c2c13-5061-46ca-8153-f7d6c0baba7b.974550db55eb4ec0983f023940bf637f.databases.appdomain.cloud:30348/0")) 202 // Expect(connection.Cli.Certificate.Name).Should(Equal("c5f07736-d94c-11e8-a2e9-62ec2ed68f84")) 203 // Expect(connection.Cli.Certificate.CertificateBase64).Should(Equal("LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUREekNDQWZlZ0F3SUJBZ0lKQU5FSDU4eTIva3pITUEwR0NTcUdTSWIzRFFFQkN3VUFNQjR4SERBYUJnTlYKQkFNTUUwbENUU0JEYkc5MVpDQkVZWFJoWW1GelpYTXdIaGNOTVRnd05qSTFNVFF5T1RBd1doY05Namd3TmpJeQpNVFF5T1RBd1dqQWVNUnd3R2dZRFZRUUREQk5KUWswZ1EyeHZkV1FnUkdGMFlXSmhjMlZ6TUlJQklqQU5CZ2txCmhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBOGxwYVFHemNGZEdxZU1sbXFqZmZNUHBJUWhxcGQ4cUoKUHIzYklrclhKYlRjSko5dUlja1NVY0NqdzRaL3JTZzhublQxM1NDY09sKzF0bys3a2RNaVU4cU9XS2ljZVlaNQp5K3laWWZDa0dhaVpWZmF6UUJtNDV6QnRGV3YrQUIvOGhmQ1RkTkY3Vlk0c3BhQTNvQkUyYVM3T0FOTlNSWlNLCnB3eTI0SVVnVWNJTEpXK21jdlc4MFZ4K0dYUmZEOVl0dDZQUkpnQmhZdVVCcGd6dm5nbUNNR0JuK2wyS05pU2YKd2VvdllEQ0Q2Vm5nbDIrNlc5UUZBRnRXWFdnRjNpRFFENW5sL240bXJpcE1TWDZVRy9uNjY1N3U3VERkZ2t2QQoxZUtJMkZMellLcG9LQmU1cmNuck03bkhnTmMvbkNkRXM1SmVjSGIxZEh2MVFmUG02cHpJeHdJREFRQUJvMUF3ClRqQWRCZ05WSFE0RUZnUVVLMytYWm8xd3lLcytERW9ZWGJIcnV3U3BYamd3SHdZRFZSMGpCQmd3Rm9BVUszK1gKWm8xd3lLcytERW9ZWGJIcnV3U3BYamd3REFZRFZSMFRCQVV3QXdFQi96QU5CZ2txaGtpRzl3MEJBUXNGQUFPQwpBUUVBSmY1ZHZselVwcWFpeDI2cUpFdXFGRzBJUDU3UVFJNVRDUko2WHQvc3VwUkhvNjNlRHZLdzh6Ujd0bFdRCmxWNVAwTjJ4d3VTbDlacUFKdDcvay8zWmVCK25Zd1BveU8zS3ZLdkFUdW5SdmxQQm40RldWWGVhUHNHKzdmaFMKcXNlam1reW9uWXc3N0hSekdPekpINFpnOFVONm1mcGJhV1NzeWFFeHZxa25DcDlTb1RRUDNENjdBeldxYjF6WQpkb3FxZ0dJWjJueENrcDUvRlh4Ri9UTWI1NXZ0ZVRRd2ZnQnk2MGpWVmtiRjdlVk9XQ3YwS2FOSFBGNWhycWJOCmkrM1hqSjcvcGVGM3hNdlRNb3kzNURjVDNFMlplU1Zqb3VaczE1Tzkwa0kzazJkYVMyT0hKQUJXMHZTajRuTHoKK1BRenAvQjljUW1PTzhkQ2UwNDlRM29hVUE9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCgo=")) 204 }) 205 }) 206 Context("When get is unsuccessful", func() { 207 BeforeEach(func() { 208 server = ghttp.NewServer() 209 server.SetAllowUnhandledRequests(true) 210 server.AppendHandlers( 211 ghttp.CombineHandlers( 212 ghttp.VerifyRequest(http.MethodGet, "/v4/ibm/deployments/crn:v1:staging:public:iam::::apikey:ApiKey-62fefdd1-4557-4c7d-8a1c-f6da7ee2ff3a/users/anyone/connections/public"), 213 ghttp.RespondWith(http.StatusInternalServerError, `Failed to get connection`), 214 ), 215 ) 216 }) 217 218 It("should return error during get connection", func() { 219 target := "crn:v1:staging:public:iam::::apikey:ApiKey-62fefdd1-4557-4c7d-8a1c-f6da7ee2ff3a" 220 userId := "anyone" 221 _, err := newConnection(server.URL()).GetConnection(target, userId) 222 Expect(err).To(HaveOccurred()) 223 //Expect(connection).Should(Equal("")) 224 }) 225 }) 226 }) 227 }) 228 229 func newConnection(url string) Connections { 230 231 sess, err := session.New() 232 if err != nil { 233 log.Fatal(err) 234 } 235 conf := sess.Config.Copy() 236 conf.HTTPClient = bluemixHttp.NewHTTPClient(conf) 237 conf.Endpoint = &url 238 239 client := client.Client{ 240 Config: conf, 241 ServiceName: bluemix.ICDService, 242 } 243 return newConnectionAPI(&client) 244 }