@@ -2,6 +2,7 @@ package idpsync_test
2
2
3
3
import (
4
4
"database/sql"
5
+ "fmt"
5
6
"testing"
6
7
7
8
"github.com/golang-jwt/jwt/v4"
@@ -19,6 +20,73 @@ import (
19
20
"github.com/coder/coder/v2/testutil"
20
21
)
21
22
23
+ func TestFromLegacySettings (t * testing.T ) {
24
+ t .Parallel ()
25
+
26
+ legacy := func (assignDefault bool ) string {
27
+ return fmt .Sprintf (`{
28
+ "Field":"groups",
29
+ "Mapping":{
30
+ "engineering":[
31
+ "10b2bd19-f5ca-4905-919f-bf02e95e3b6a"
32
+ ]
33
+ },
34
+ "AssignDefault":%t
35
+ }` , assignDefault )
36
+ }
37
+
38
+ t .Run ("AssignDefault,True" , func (t * testing.T ) {
39
+ t .Parallel ()
40
+
41
+ var settings idpsync.OrganizationSyncSettings
42
+ settings .AssignDefault = true
43
+ err := settings .Set (legacy (true ))
44
+ require .NoError (t , err )
45
+
46
+ require .Equal (t , settings .Field , "groups" , "field" )
47
+ require .Equal (t , settings .Mapping , map [string ][]uuid.UUID {
48
+ "engineering" : {
49
+ uuid .MustParse ("10b2bd19-f5ca-4905-919f-bf02e95e3b6a" ),
50
+ },
51
+ }, "mapping" )
52
+ require .True (t , settings .AssignDefault , "assign default" )
53
+ })
54
+
55
+ t .Run ("AssignDefault,False" , func (t * testing.T ) {
56
+ t .Parallel ()
57
+
58
+ var settings idpsync.OrganizationSyncSettings
59
+ settings .AssignDefault = true
60
+ err := settings .Set (legacy (false ))
61
+ require .NoError (t , err )
62
+
63
+ require .Equal (t , settings .Field , "groups" , "field" )
64
+ require .Equal (t , settings .Mapping , map [string ][]uuid.UUID {
65
+ "engineering" : {
66
+ uuid .MustParse ("10b2bd19-f5ca-4905-919f-bf02e95e3b6a" ),
67
+ },
68
+ }, "mapping" )
69
+ require .False (t , settings .AssignDefault , "assign default" )
70
+ })
71
+
72
+ t .Run ("CorrectAssign" , func (t * testing.T ) {
73
+ t .Parallel ()
74
+
75
+ var settings idpsync.OrganizationSyncSettings
76
+ settings .AssignDefault = true
77
+ err := settings .Set (legacy (false ))
78
+ require .NoError (t , err )
79
+
80
+ require .Equal (t , settings .Field , "groups" , "field" )
81
+ require .Equal (t , settings .Mapping , map [string ][]uuid.UUID {
82
+ "engineering" : {
83
+ uuid .MustParse ("10b2bd19-f5ca-4905-919f-bf02e95e3b6a" ),
84
+ },
85
+ }, "mapping" )
86
+ require .False (t , settings .AssignDefault , "assign default" )
87
+ })
88
+ }
89
+
22
90
func TestParseOrganizationClaims (t * testing.T ) {
23
91
t .Parallel ()
24
92
0 commit comments