|
1 | 1 | package rockset_test |
2 | 2 |
|
3 | 3 | import ( |
| 4 | + "github.com/stretchr/testify/suite" |
4 | 5 | "testing" |
5 | 6 |
|
6 | | - "github.com/rs/zerolog" |
7 | | - "github.com/stretchr/testify/assert" |
8 | 7 | "github.com/stretchr/testify/require" |
9 | 8 |
|
10 | 9 | "github.com/rockset/rockset-go-client" |
11 | 10 | ) |
12 | 11 |
|
13 | | -func TestRockClient_ListUsers(t *testing.T) { |
14 | | - skipUnlessIntegrationTest(t) |
| 12 | +const CIUser = "pme+circleci@rockset.com" |
15 | 13 |
|
16 | | - ctx := testCtx() |
17 | | - log := zerolog.Ctx(ctx) |
| 14 | +type UserTestSuite struct { |
| 15 | + suite.Suite |
| 16 | + rc *rockset.RockClient |
| 17 | + email string |
| 18 | +} |
| 19 | + |
| 20 | +func TestUserTestSuite(t *testing.T) { |
| 21 | + skipUnlessIntegrationTest(t) |
18 | 22 |
|
19 | 23 | rc, err := rockset.NewClient() |
20 | 24 | require.NoError(t, err) |
21 | 25 |
|
22 | | - users, err := rc.ListUsers(ctx) |
23 | | - require.NoError(t, err) |
| 26 | + s := UserTestSuite{ |
| 27 | + rc: rc, |
| 28 | + email: "pme+testuser@rockset.com", |
| 29 | + } |
| 30 | + suite.Run(t, &s) |
| 31 | +} |
24 | 32 |
|
25 | | - assert.NotEmpty(t, users) |
| 33 | +func (s *UserTestSuite) TearDownSuite() { |
| 34 | + ctx := testCtx() |
26 | 35 |
|
27 | | - for _, user := range users { |
28 | | - log.Debug().Str("user", user.Email).Send() |
29 | | - } |
| 36 | + err := s.rc.DeleteUser(ctx, s.email) |
| 37 | + s.Require().NoError(err) |
30 | 38 | } |
31 | 39 |
|
32 | | -func TestRockClient_GetCurrentUser(t *testing.T) { |
33 | | - skipUnlessIntegrationTest(t) |
| 40 | +func (s *UserTestSuite) TestCreateUser() { |
| 41 | + ctx := testCtx() |
34 | 42 |
|
| 43 | + _, err := s.rc.CreateUser(ctx, s.email, []string{"read-only"}) |
| 44 | + s.Require().NoError(err) |
| 45 | +} |
| 46 | + |
| 47 | +func (s *UserTestSuite) TestGetCurrentUser() { |
35 | 48 | ctx := testCtx() |
36 | 49 |
|
37 | | - rc, err := rockset.NewClient() |
38 | | - require.NoError(t, err) |
| 50 | + user, err := s.rc.GetCurrentUser(ctx) |
| 51 | + s.Require().NoError(err) |
| 52 | + s.Assert().Equal(CIUser, user.Email) |
| 53 | +} |
39 | 54 |
|
40 | | - user, err := rc.GetCurrentUser(ctx) |
41 | | - require.NoError(t, err) |
| 55 | +func (s *UserTestSuite) TestGetUser() { |
| 56 | + ctx := testCtx() |
42 | 57 |
|
43 | | - assert.Equal(t, "pme+circleci@rockset.com", user.Email) |
| 58 | + user, err := s.rc.GetUser(ctx, s.email) |
| 59 | + s.Require().NoError(err) |
| 60 | + s.Assert().Equal(s.email, user.Email) |
| 61 | +} |
| 62 | + |
| 63 | +func (s *UserTestSuite) TestListUsers() { |
| 64 | + ctx := testCtx() |
| 65 | + |
| 66 | + users, err := s.rc.ListUsers(ctx) |
| 67 | + s.Require().NoError(err) |
| 68 | + |
| 69 | + var found bool |
| 70 | + for _, user := range users { |
| 71 | + if user.Email == CIUser { |
| 72 | + found = true |
| 73 | + } |
| 74 | + } |
| 75 | + s.Assert().True(found) |
44 | 76 | } |
0 commit comments