@@ -2,142 +2,10 @@ package scaleway
2
2
3
3
import (
4
4
"context"
5
- "net"
6
5
"reflect"
7
6
"testing"
8
-
9
- "github.com/scaleway/scaleway-sdk-go/api/rdb/v1"
10
- "github.com/scaleway/scaleway-sdk-go/scw"
11
- "github.com/stretchr/testify/assert"
12
7
)
13
8
14
- func TestIsEndPointEqual (t * testing.T ) {
15
- tests := []struct {
16
- name string
17
- A * rdb.EndpointPrivateNetworkDetails
18
- B * rdb.EndpointPrivateNetworkDetails
19
- expected bool
20
- }{
21
- {
22
- name : "isEqualPrivateNetworkDetails" ,
23
- A : & rdb.EndpointPrivateNetworkDetails {PrivateNetworkID : "6ba7b810-9dad-11d1-80b4-00c04fd430c8" , ServiceIP : scw.IPNet {IPNet : net.IPNet {
24
- IP : net .IPv4 (1 , 1 , 1 , 1 ), Mask : net .CIDRMask (24 , 32 ),
25
- }}, Zone : scw .ZoneFrPar1 },
26
- B : & rdb.EndpointPrivateNetworkDetails {PrivateNetworkID : "6ba7b810-9dad-11d1-80b4-00c04fd430c8" , ServiceIP : scw.IPNet {IPNet : net.IPNet {
27
- IP : net .IPv4 (1 , 1 , 1 , 1 ), Mask : net .CIDRMask (24 , 32 ),
28
- }}, Zone : scw .ZoneFrPar1 },
29
- expected : true ,
30
- },
31
- {
32
- name : "notEqualIP" ,
33
- A : & rdb.EndpointPrivateNetworkDetails {PrivateNetworkID : "6ba7b810-9dad-11d1-80b4-00c04fd430c8" , ServiceIP : scw.IPNet {IPNet : net.IPNet {
34
- IP : net .IPv4 (1 , 1 , 1 , 1 ), Mask : net .CIDRMask (24 , 32 ),
35
- }}, Zone : scw .ZoneFrPar1 },
36
- B : & rdb.EndpointPrivateNetworkDetails {PrivateNetworkID : "6ba7b810-9dad-11d1-80b4-00c04fd430c8" , ServiceIP : scw.IPNet {IPNet : net.IPNet {
37
- IP : net .IPv4 (1 , 1 , 1 , 2 ), Mask : net .CIDRMask (24 , 32 ),
38
- }}, Zone : scw .ZoneFrPar1 },
39
- expected : false ,
40
- },
41
- {
42
- name : "notEqualZone" ,
43
- A : & rdb.EndpointPrivateNetworkDetails {PrivateNetworkID : "6ba7b810-9dad-11d1-80b4-00c04fd430c8" , ServiceIP : scw.IPNet {IPNet : net.IPNet {
44
- IP : net .IPv4 (1 , 1 , 1 , 1 ), Mask : net .CIDRMask (24 , 32 ),
45
- }}, Zone : scw .ZoneFrPar1 },
46
- B : & rdb.EndpointPrivateNetworkDetails {PrivateNetworkID : "6ba7b810-9dad-11d1-80b4-00c04fd430c8" , ServiceIP : scw.IPNet {IPNet : net.IPNet {
47
- IP : net .IPv4 (1 , 1 , 1 , 1 ), Mask : net .CIDRMask (24 , 32 ),
48
- }}, Zone : scw .ZoneFrPar2 },
49
- expected : false ,
50
- },
51
- {
52
- name : "notEqualMask" ,
53
- A : & rdb.EndpointPrivateNetworkDetails {PrivateNetworkID : "6ba7b810-9dad-11d1-80b4-00c04fd430c8" , ServiceIP : scw.IPNet {IPNet : net.IPNet {
54
- IP : net .IPv4 (1 , 1 , 1 , 1 ), Mask : net .CIDRMask (25 , 32 ),
55
- }}, Zone : scw .ZoneFrPar1 },
56
- B : & rdb.EndpointPrivateNetworkDetails {PrivateNetworkID : "6ba7b810-9dad-11d1-80b4-00c04fd430c8" , ServiceIP : scw.IPNet {IPNet : net.IPNet {
57
- IP : net .IPv4 (1 , 1 , 1 , 1 ), Mask : net .CIDRMask (24 , 32 ),
58
- }}, Zone : scw .ZoneFrPar1 },
59
- expected : false ,
60
- },
61
- }
62
- for _ , tt := range tests {
63
- t .Run (tt .name , func (t * testing.T ) {
64
- assert .Equal (t , tt .expected , isEndPointEqual (tt .A , tt .B ))
65
- })
66
- }
67
- }
68
-
69
- func TestEndpointsToRemove (t * testing.T ) {
70
- tests := []struct {
71
- name string
72
- Endpoints []* rdb.Endpoint
73
- Updates []interface {}
74
- Expected map [string ]bool
75
- }{
76
- {
77
- name : "removeAll" ,
78
- Endpoints : []* rdb.Endpoint {{
79
- ID : "6ba7b810-9dad-11d1-80b4-00c04fd430c1" ,
80
- PrivateNetwork : & rdb.EndpointPrivateNetworkDetails {
81
- PrivateNetworkID : "6ba7b810-9dad-11d1-80b4-00c04fd430c8" ,
82
- ServiceIP : scw.IPNet {IPNet : net.IPNet {
83
- IP : net .IPv4 (1 , 1 , 1 , 1 ), Mask : net .CIDRMask (24 , 32 ),
84
- }},
85
- Zone : scw .ZoneFrPar1 ,
86
- },
87
- }},
88
- Expected : map [string ]bool {
89
- "6ba7b810-9dad-11d1-80b4-00c04fd430c1" : true ,
90
- },
91
- },
92
- {
93
- name : "shouldUpdatePrivateNetwork" ,
94
- Endpoints : []* rdb.Endpoint {{
95
- ID : "6ba7b810-9dad-11d1-80b4-00c04fd430c1" ,
96
- PrivateNetwork : & rdb.EndpointPrivateNetworkDetails {
97
- PrivateNetworkID : "6ba7b810-9dad-11d1-80b4-00c04fd430c8" ,
98
- ServiceIP : scw.IPNet {IPNet : net.IPNet {
99
- IP : net .IPv4 (1 , 1 , 1 , 1 ), Mask : net .CIDRMask (24 , 32 ),
100
- }},
101
- Zone : scw .ZoneFrPar1 ,
102
- },
103
- }},
104
- Updates : []interface {}{map [string ]interface {}{"pn_id" : "fr-par-1/6ba7b810-9dad-11d1-80b4-00c04fd430c8" , "ip_net" : "192.168.1.43/24" }},
105
- Expected : map [string ]bool {
106
- "6ba7b810-9dad-11d1-80b4-00c04fd430c1" : true ,
107
- },
108
- },
109
- {
110
- name : "shouldNotUpdatePrivateNetwork" ,
111
- Endpoints : []* rdb.Endpoint {{
112
- ID : "6ba7b810-9dad-11d1-80b4-00c04fd430c1" ,
113
- PrivateNetwork : & rdb.EndpointPrivateNetworkDetails {
114
- PrivateNetworkID : "6ba7b810-9dad-11d1-80b4-00c04fd430c8" ,
115
- ServiceIP : scw.IPNet {IPNet : net.IPNet {
116
- IP : net .IPv4 (1 , 1 , 1 , 1 ), Mask : net .CIDRMask (24 , 32 ),
117
- }},
118
- Zone : scw .ZoneFrPar1 ,
119
- },
120
- }},
121
- Updates : []interface {}{map [string ]interface {}{"pn_id" : "fr-par-1/6ba7b810-9dad-11d1-80b4-00c04fd430c8" , "ip_net" : "1.1.1.1/24" }},
122
- Expected : map [string ]bool {
123
- "6ba7b810-9dad-11d1-80b4-00c04fd430c1" : false ,
124
- },
125
- },
126
- {
127
- name : "shouldAddPrivateNetwork" ,
128
- Updates : []interface {}{map [string ]interface {}{"pn_id" : "fr-par-1/6ba7b810-9dad-11d1-80b4-00c04fd430c8" , "ip_net" : "1.1.1.1/24" }},
129
- Expected : map [string ]bool {},
130
- },
131
- }
132
- for _ , tt := range tests {
133
- t .Run (tt .name , func (t * testing.T ) {
134
- result , err := endpointsToRemove (tt .Endpoints , tt .Updates )
135
- assert .NoError (t , err )
136
- assert .Equal (t , tt .Expected , result )
137
- })
138
- }
139
- }
140
-
141
9
func TestRDBPrivilegeV1SchemaUpgradeFunc (t * testing.T ) {
142
10
v0Schema := map [string ]interface {}{
143
11
"id" : "fr-par/11111111-1111-1111-1111-111111111111" ,
0 commit comments