fix network validation tests

This commit is contained in:
Matthew R. Kasun
2022-06-27 10:23:11 -04:00
parent 99db823789
commit b217d526fa
2 changed files with 20 additions and 34 deletions

View File

@@ -206,8 +206,8 @@ func TestSecurityCheck(t *testing.T) {
})
}
func TestValidateNetworkUpdate(t *testing.T) {
t.Skip()
func TestValidateNetwork(t *testing.T) {
//t.Skip()
//This functions is not called by anyone
//it panics as validation function 'display_name_valid' is not defined
database.InitializeDatabase()
@@ -220,23 +220,25 @@ func TestValidateNetworkUpdate(t *testing.T) {
{
testname: "InvalidAddress",
network: models.Network{
NetID: "skynet",
AddressRange: "10.0.0.256",
},
errMessage: "Field validation for 'AddressRange' failed on the 'cidr' tag",
},
{
testname: "InvalidAddress6",
network: models.Network{
AddressRange6: "2607::ag",
},
errMessage: "Field validation for 'AddressRange6' failed on the 'cidr' tag",
},
//{
// testname: "InvalidAddress6",
// network: models.Network{
// NetID: "skynet1",
// AddressRange6: "2607::ffff/130",
// },
// errMessage: "Field validation for 'AddressRange6' failed on the 'cidr' tag",
//},
{
testname: "InvalidNetID",
network: models.Network{
NetID: "contains spaces",
NetID: "with spaces",
},
errMessage: "Field validation for 'NetID' failed on the 'alphanum' tag",
errMessage: "Field validation for 'NetID' failed on the 'netid_valid' tag",
},
{
testname: "NetIDTooLong",
@@ -248,6 +250,7 @@ func TestValidateNetworkUpdate(t *testing.T) {
{
testname: "ListenPortTooLow",
network: models.Network{
NetID: "skynet",
DefaultListenPort: 1023,
},
errMessage: "Field validation for 'DefaultListenPort' failed on the 'min' tag",
@@ -255,6 +258,7 @@ func TestValidateNetworkUpdate(t *testing.T) {
{
testname: "ListenPortTooHigh",
network: models.Network{
NetID: "skynet",
DefaultListenPort: 65536,
},
errMessage: "Field validation for 'DefaultListenPort' failed on the 'max' tag",
@@ -262,6 +266,7 @@ func TestValidateNetworkUpdate(t *testing.T) {
{
testname: "KeepAliveTooBig",
network: models.Network{
NetID: "skynet",
DefaultKeepalive: 1010,
},
errMessage: "Field validation for 'DefaultKeepalive' failed on the 'max' tag",
@@ -269,6 +274,7 @@ func TestValidateNetworkUpdate(t *testing.T) {
{
testname: "InvalidLocalRange",
network: models.Network{
NetID: "skynet",
LocalRange: "192.168.0.1",
},
errMessage: "Field validation for 'LocalRange' failed on the 'cidr' tag",
@@ -276,8 +282,10 @@ func TestValidateNetworkUpdate(t *testing.T) {
}
for _, tc := range cases {
t.Run(tc.testname, func(t *testing.T) {
t.Log(tc.testname)
network := models.Network(tc.network)
err := logic.ValidateNetworkUpdate(network)
network.SetDefaults()
err := logic.ValidateNetwork(&network, false)
assert.NotNil(t, err)
assert.Contains(t, err.Error(), tc.errMessage)
})

View File

@@ -622,28 +622,6 @@ func ParseNetwork(value string) (models.Network, error) {
return network, err
}
// ValidateNetworkUpdate - checks if network is valid to update
func ValidateNetworkUpdate(network models.Network) error {
v := validator.New()
_ = v.RegisterValidation("netid_valid", func(fl validator.FieldLevel) bool {
if fl.Field().String() == "" {
return true
}
inCharSet := nameInNetworkCharSet(fl.Field().String())
return inCharSet
})
err := v.Struct(network)
if err != nil {
for _, e := range err.(validator.ValidationErrors) {
logger.Log(1, "validator", e.Error())
}
}
return err
}
// KeyUpdate - updates keys on network
func KeyUpdate(netname string) (models.Network, error) {
err := networkNodesUpdateAction(netname, models.NODE_UPDATE_KEY)