Skip to content

Commit 298bbb6

Browse files
authored
Adding internal tests (#12)
* Adding logs for debugging * Fix typo on readme file * Update zap values * Update readme file * Update zap values * Refactoring code * Update readme * Adding test cases * Adding test cases * Adding internal tests
1 parent 92f6278 commit 298bbb6

File tree

1 file changed

+224
-0
lines changed

1 file changed

+224
-0
lines changed

pkg/connector/internal_test.go

Lines changed: 224 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,224 @@
1+
package connector
2+
3+
import (
4+
"context"
5+
"os"
6+
"testing"
7+
8+
"github.com/conductorone/baton-sql-server/pkg/mssqldb"
9+
"github.com/stretchr/testify/assert"
10+
)
11+
12+
var (
13+
dsn = os.Getenv("BATON_DSN")
14+
ctx = context.Background()
15+
pager = &mssqldb.Pager{
16+
Size: 0,
17+
Token: `0`,
18+
}
19+
)
20+
21+
func TestClientListDatabasePermissions(t *testing.T) {
22+
tests := []struct {
23+
name string
24+
dbName string
25+
}{
26+
{
27+
name: "Checking master db",
28+
dbName: "master",
29+
},
30+
{
31+
name: "Checking tempdb db",
32+
dbName: "tempdb",
33+
},
34+
{
35+
name: "Checking model db",
36+
dbName: "model",
37+
},
38+
{
39+
name: "Checking msdb db",
40+
dbName: "msdb",
41+
},
42+
{
43+
name: "Checking tempdb db",
44+
dbName: "tempdb",
45+
},
46+
}
47+
48+
if dsn == "" {
49+
t.Skip()
50+
}
51+
52+
cli, err := mssqldb.New(ctx, dsn)
53+
assert.Nil(t, err)
54+
55+
for _, test := range tests {
56+
t.Run(test.name, func(t *testing.T) {
57+
pager.Token = "0"
58+
for keepingPagination(pager.Token) {
59+
_, token, err := cli.ListDatabasePermissions(ctx, test.dbName, pager)
60+
assert.Nil(t, err)
61+
pager.Token = token
62+
}
63+
})
64+
}
65+
}
66+
67+
func TestClientListServerPermissions(t *testing.T) {
68+
if dsn == "" {
69+
t.Skip()
70+
}
71+
72+
cli, err := mssqldb.New(ctx, dsn)
73+
assert.Nil(t, err)
74+
75+
for keepingPagination(pager.Token) {
76+
_, token, err := cli.ListServerPermissions(ctx, pager)
77+
assert.Nil(t, err)
78+
pager.Token = token
79+
}
80+
}
81+
82+
func TestClientListServerRoles(t *testing.T) {
83+
if dsn == "" {
84+
t.Skip()
85+
}
86+
87+
cli, err := mssqldb.New(ctx, dsn)
88+
assert.Nil(t, err)
89+
90+
for keepingPagination(pager.Token) {
91+
_, token, err := cli.ListServerRoles(ctx, pager)
92+
assert.Nil(t, err)
93+
pager.Token = token
94+
}
95+
}
96+
97+
func keepingPagination(token string) bool {
98+
return token != ""
99+
}
100+
101+
func TestClientListDatabaseRoles(t *testing.T) {
102+
tests := []struct {
103+
name string
104+
dbName string
105+
}{
106+
{
107+
name: "Checking master db",
108+
dbName: "master",
109+
},
110+
{
111+
name: "Checking tempdb db",
112+
dbName: "tempdb",
113+
},
114+
{
115+
name: "Checking model db",
116+
dbName: "model",
117+
},
118+
{
119+
name: "Checking msdb db",
120+
dbName: "msdb",
121+
},
122+
{
123+
name: "Checking tempdb db",
124+
dbName: "tempdb",
125+
},
126+
}
127+
128+
if dsn == "" {
129+
t.Skip()
130+
}
131+
132+
cli, err := mssqldb.New(ctx, dsn)
133+
assert.Nil(t, err)
134+
135+
for _, test := range tests {
136+
t.Run(test.name, func(t *testing.T) {
137+
pager.Token = "0"
138+
for keepingPagination(pager.Token) {
139+
_, token, err := cli.ListDatabaseRoles(ctx, test.dbName, pager)
140+
assert.Nil(t, err)
141+
pager.Token = token
142+
}
143+
})
144+
}
145+
}
146+
147+
func TestClientListDatabaseRolePrincipals(t *testing.T) {
148+
var databaseRoleID = "16393"
149+
tests := []struct {
150+
name string
151+
dbName string
152+
}{
153+
{
154+
name: "Checking master db",
155+
dbName: "master",
156+
},
157+
{
158+
name: "Checking tempdb db",
159+
dbName: "tempdb",
160+
},
161+
{
162+
name: "Checking model db",
163+
dbName: "model",
164+
},
165+
{
166+
name: "Checking msdb db",
167+
dbName: "msdb",
168+
},
169+
{
170+
name: "Checking tempdb db",
171+
dbName: "tempdb",
172+
},
173+
}
174+
175+
if dsn == "" {
176+
t.Skip()
177+
}
178+
179+
cli, err := mssqldb.New(ctx, dsn)
180+
assert.Nil(t, err)
181+
182+
for _, test := range tests {
183+
t.Run(test.name, func(t *testing.T) {
184+
pager.Token = "0"
185+
for keepingPagination(pager.Token) {
186+
_, token, err := cli.ListDatabaseRolePrincipals(ctx, test.dbName, databaseRoleID, pager)
187+
assert.Nil(t, err)
188+
pager.Token = token
189+
}
190+
})
191+
}
192+
}
193+
194+
func TestClientListServerRolePrincipals(t *testing.T) {
195+
var serverRoleID = "2"
196+
if dsn == "" {
197+
t.Skip()
198+
}
199+
200+
cli, err := mssqldb.New(ctx, dsn)
201+
assert.Nil(t, err)
202+
203+
for keepingPagination(pager.Token) {
204+
_, token, err := cli.ListServerRolePrincipals(ctx, serverRoleID, pager)
205+
assert.Nil(t, err)
206+
pager.Token = token
207+
}
208+
}
209+
210+
func TestClientListDatabases(t *testing.T) {
211+
if dsn == "" {
212+
t.Skip()
213+
}
214+
215+
cli, err := mssqldb.New(ctx, dsn)
216+
assert.Nil(t, err)
217+
218+
for keepingPagination(pager.Token) {
219+
models, token, err := cli.ListDatabases(ctx, pager)
220+
assert.Nil(t, err)
221+
assert.NotNil(t, models)
222+
pager.Token = token
223+
}
224+
}

0 commit comments

Comments
 (0)