Skip to content

Commit

Permalink
API logic for redundant connection to single deviec (same device ID f…
Browse files Browse the repository at this point in the history
…or both primary and secondary conn)
  • Loading branch information
mikouaj committed Mar 3, 2021
1 parent 63da084 commit 614d5dc
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 1 deletion.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
## 2.0.3 (March 03, 2021)

BUG FIXES:

* creation of redundant connection from a single device is now reflecting
upstream API logic

## 2.0.2 (February 24, 2021)

NOTES:
Expand Down
4 changes: 3 additions & 1 deletion rest_l2_connection.go
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,9 @@ func createL2RedundantConnectionRequest(primary L2Connection, secondary L2Connec
connReq := createL2ConnectionRequest(primary)
connReq.SecondaryName = secondary.Name
connReq.SecondaryPortUUID = secondary.PortUUID
connReq.SecondaryVirtualDeviceUUID = secondary.DeviceUUID
if StringValue(primary.DeviceUUID) != StringValue(secondary.DeviceUUID) {
connReq.SecondaryVirtualDeviceUUID = secondary.DeviceUUID
}
connReq.SecondaryVlanSTag = secondary.VlanSTag
connReq.SecondaryVlanCTag = secondary.VlanCTag
connReq.SecondaryZSidePortUUID = secondary.ZSidePortUUID
Expand Down
26 changes: 26 additions & 0 deletions rest_l2_connection_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -364,3 +364,29 @@ func verifyL2ConnectionAction(t *testing.T, action L2ConnectionAction, apiAction
assert.Equal(t, action.RequiredData[i].ValidationPattern, apiAction.ActionRequiredData[i].ValidationPattern, "ValidationPattern matches")
}
}

func TestCreateL2RedundantConnectionRequest_oneDevice(t *testing.T) {
//given
primary := L2Connection{
Name: String("primary"),
ProfileUUID: String("profileID"),
DeviceUUID: String("deviceID"),
DeviceInterfaceID: Int(4),
Speed: Int(50),
SpeedUnit: String("Mbps"),
SellerMetroCode: String("SV"),
SellerRegion: String("us-west1"),
AuthorizationKey: String("authKey"),
}
secondary := L2Connection{
Name: String("secondary"),
DeviceUUID: primary.DeviceUUID,
DeviceInterfaceID: Int(5),
}
//when
request := createL2RedundantConnectionRequest(primary, secondary)
//then
assert.Nil(t, request.SecondaryVirtualDeviceUUID, "Secondary device UUID is not set")
assert.Equal(t, secondary.Name, request.SecondaryName, "Secondary name matches")
assert.Equal(t, secondary.DeviceInterfaceID, request.SecondaryInterfaceID, "Secondary deviceInterfaceID name matches")
}

0 comments on commit 614d5dc

Please sign in to comment.