1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
package client_test
import (
. "launchpad.net/gocheck"
"launchpad.net/goose/client"
"launchpad.net/goose/identity"
)
func registerOpenStackTests(cred *identity.Credentials, authModes []identity.AuthMode) {
for _, authMode := range authModes {
Suite(&LiveTests{
cred: cred,
authMode: authMode,
})
}
}
type LiveTests struct {
cred *identity.Credentials
authMode identity.AuthMode
}
func (s *LiveTests) SetUpSuite(c *C) {
c.Logf("Running tests with authentication method %v", s.authMode)
}
func (s *LiveTests) TearDownSuite(c *C) {
// noop, called by local test suite.
}
func (s *LiveTests) SetUpTest(c *C) {
// noop, called by local test suite.
}
func (s *LiveTests) TearDownTest(c *C) {
// noop, called by local test suite.
}
func (s *LiveTests) TestAuthenticateFail(c *C) {
cred := *s.cred
cred.User = "fred"
cred.Secrets = "broken"
cred.Region = ""
osclient := client.NewClient(&cred, s.authMode, nil)
c.Assert(osclient.IsAuthenticated(), Equals, false)
err := osclient.Authenticate()
c.Assert(err, ErrorMatches, "authentication failed(\n|.)*")
}
func (s *LiveTests) TestAuthenticate(c *C) {
cl := client.NewClient(s.cred, s.authMode, nil)
err := cl.Authenticate()
c.Assert(err, IsNil)
c.Assert(cl.IsAuthenticated(), Equals, true)
// Check service endpoints are discovered
url, err := cl.MakeServiceURL("compute", nil)
c.Check(err, IsNil)
c.Check(url, NotNil)
url, err = cl.MakeServiceURL("object-store", nil)
c.Check(err, IsNil)
c.Check(url, NotNil)
}
|