@@ -9,6 +9,24 @@ import (
99 "github.com/stretchr/testify/require"
1010)
1111
12+ func TestGetNetworkPeeringsRequest (t * testing.T ) {
13+ r := GetNetworkPeeringsRequest {}
14+ assert .Equal (t , networkPeeringBaseURL , r .RequestURL ())
15+
16+ r = GetNetworkPeeringsRequest {
17+ Filters : []QueryFilter {
18+ FilterLabel {
19+ Label : upcloud.Label {
20+ Key : "color" ,
21+ Value : "green" ,
22+ },
23+ },
24+ FilterLabelKey {Key : "size" },
25+ },
26+ }
27+ assert .Equal (t , networkPeeringBaseURL + "?label=color%3Dgreen&label=size" , r .RequestURL ())
28+ }
29+
1230func TestGetNetworkPeeringRequest (t * testing.T ) {
1331 r := GetNetworkPeeringRequest {"id" }
1432 assert .Equal (t , "/network-peering/id" , r .RequestURL ())
@@ -44,6 +62,48 @@ func TestCreateNetworkPeeringRequest(t *testing.T) {
4462 ` , string (js ))
4563}
4664
65+ func TestCreateNetworkPeeringLabelsRequest (t * testing.T ) {
66+ r := CreateNetworkPeeringRequest {
67+ Name : "Peering A->B" ,
68+ ConfiguredStatus : upcloud .NetworkPeeringConfiguredStatusActive ,
69+ Network : NetworkPeeringNetwork {
70+ UUID : "03126dc1-a69f-4bc2-8b24-e31c22d64712" ,
71+ },
72+ PeerNetwork : NetworkPeeringNetwork {
73+ UUID : "03585987-bf7d-4544-8e9b-5a1b4d74a333" ,
74+ },
75+ Labels : []upcloud.Label {
76+ {
77+ Key : "managedBy" ,
78+ Value : "upcloud-go-sdk-unit-test" ,
79+ },
80+ },
81+ }
82+ assert .Equal (t , "/network-peering" , r .RequestURL ())
83+ js , err := json .Marshal (& r )
84+ require .NoError (t , err )
85+ assert .JSONEq (t , `
86+ {
87+ "network_peering": {
88+ "configured_status": "active",
89+ "name": "Peering A->B",
90+ "network": {
91+ "uuid": "03126dc1-a69f-4bc2-8b24-e31c22d64712"
92+ },
93+ "peer_network": {
94+ "uuid": "03585987-bf7d-4544-8e9b-5a1b4d74a333"
95+ },
96+ "labels": [
97+ {
98+ "key": "managedBy",
99+ "value": "upcloud-go-sdk-unit-test"
100+ }
101+ ]
102+ }
103+ }
104+ ` , string (js ))
105+ }
106+
47107func TestModifyNetworkPeeringRequest (t * testing.T ) {
48108 r := ModifyNetworkPeeringRequest {
49109 UUID : "id" ,
@@ -97,6 +157,43 @@ func TestModifyNetworkPeeringRequest(t *testing.T) {
97157 ` , string (js ))
98158}
99159
160+ func TestModifyNetworkPeeringLabelsRequest (t * testing.T ) {
161+ r := ModifyNetworkPeeringRequest {
162+ UUID : "id" ,
163+ NetworkPeering : ModifyNetworkPeering {},
164+ }
165+ assert .Equal (t , "/network-peering/id" , r .RequestURL ())
166+ js , err := json .Marshal (& r )
167+ require .NoError (t , err )
168+ assert .JSONEq (t , `{"network_peering":{}}` , string (js ))
169+
170+ r = ModifyNetworkPeeringRequest {
171+ UUID : "id" ,
172+ NetworkPeering : ModifyNetworkPeering {
173+ Labels : & []upcloud.Label {
174+ {
175+ Key : "managedBy" ,
176+ Value : "upcloud-go-sdk-unit-test" ,
177+ },
178+ },
179+ },
180+ }
181+ js , err = json .Marshal (& r )
182+ require .NoError (t , err )
183+ assert .JSONEq (t , `
184+ {
185+ "network_peering": {
186+ "labels": [
187+ {
188+ "key": "managedBy",
189+ "value": "upcloud-go-sdk-unit-test"
190+ }
191+ ]
192+ }
193+ }
194+ ` , string (js ))
195+ }
196+
100197func TestDeleteNetworkPeeringRequest (t * testing.T ) {
101198 r := DeleteNetworkPeeringRequest {"id" }
102199 assert .Equal (t , "/network-peering/id" , r .RequestURL ())
0 commit comments