mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-10 19:20:42 +08:00
fix network validation tests
This commit is contained in:
@@ -206,8 +206,8 @@ func TestSecurityCheck(t *testing.T) {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestValidateNetworkUpdate(t *testing.T) {
|
func TestValidateNetwork(t *testing.T) {
|
||||||
t.Skip()
|
//t.Skip()
|
||||||
//This functions is not called by anyone
|
//This functions is not called by anyone
|
||||||
//it panics as validation function 'display_name_valid' is not defined
|
//it panics as validation function 'display_name_valid' is not defined
|
||||||
database.InitializeDatabase()
|
database.InitializeDatabase()
|
||||||
@@ -220,23 +220,25 @@ func TestValidateNetworkUpdate(t *testing.T) {
|
|||||||
{
|
{
|
||||||
testname: "InvalidAddress",
|
testname: "InvalidAddress",
|
||||||
network: models.Network{
|
network: models.Network{
|
||||||
|
NetID: "skynet",
|
||||||
AddressRange: "10.0.0.256",
|
AddressRange: "10.0.0.256",
|
||||||
},
|
},
|
||||||
errMessage: "Field validation for 'AddressRange' failed on the 'cidr' tag",
|
errMessage: "Field validation for 'AddressRange' failed on the 'cidr' tag",
|
||||||
},
|
},
|
||||||
{
|
//{
|
||||||
testname: "InvalidAddress6",
|
// testname: "InvalidAddress6",
|
||||||
network: models.Network{
|
// network: models.Network{
|
||||||
AddressRange6: "2607::ag",
|
// NetID: "skynet1",
|
||||||
},
|
// AddressRange6: "2607::ffff/130",
|
||||||
errMessage: "Field validation for 'AddressRange6' failed on the 'cidr' tag",
|
// },
|
||||||
},
|
// errMessage: "Field validation for 'AddressRange6' failed on the 'cidr' tag",
|
||||||
|
//},
|
||||||
{
|
{
|
||||||
testname: "InvalidNetID",
|
testname: "InvalidNetID",
|
||||||
network: models.Network{
|
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",
|
testname: "NetIDTooLong",
|
||||||
@@ -248,6 +250,7 @@ func TestValidateNetworkUpdate(t *testing.T) {
|
|||||||
{
|
{
|
||||||
testname: "ListenPortTooLow",
|
testname: "ListenPortTooLow",
|
||||||
network: models.Network{
|
network: models.Network{
|
||||||
|
NetID: "skynet",
|
||||||
DefaultListenPort: 1023,
|
DefaultListenPort: 1023,
|
||||||
},
|
},
|
||||||
errMessage: "Field validation for 'DefaultListenPort' failed on the 'min' tag",
|
errMessage: "Field validation for 'DefaultListenPort' failed on the 'min' tag",
|
||||||
@@ -255,6 +258,7 @@ func TestValidateNetworkUpdate(t *testing.T) {
|
|||||||
{
|
{
|
||||||
testname: "ListenPortTooHigh",
|
testname: "ListenPortTooHigh",
|
||||||
network: models.Network{
|
network: models.Network{
|
||||||
|
NetID: "skynet",
|
||||||
DefaultListenPort: 65536,
|
DefaultListenPort: 65536,
|
||||||
},
|
},
|
||||||
errMessage: "Field validation for 'DefaultListenPort' failed on the 'max' tag",
|
errMessage: "Field validation for 'DefaultListenPort' failed on the 'max' tag",
|
||||||
@@ -262,6 +266,7 @@ func TestValidateNetworkUpdate(t *testing.T) {
|
|||||||
{
|
{
|
||||||
testname: "KeepAliveTooBig",
|
testname: "KeepAliveTooBig",
|
||||||
network: models.Network{
|
network: models.Network{
|
||||||
|
NetID: "skynet",
|
||||||
DefaultKeepalive: 1010,
|
DefaultKeepalive: 1010,
|
||||||
},
|
},
|
||||||
errMessage: "Field validation for 'DefaultKeepalive' failed on the 'max' tag",
|
errMessage: "Field validation for 'DefaultKeepalive' failed on the 'max' tag",
|
||||||
@@ -269,6 +274,7 @@ func TestValidateNetworkUpdate(t *testing.T) {
|
|||||||
{
|
{
|
||||||
testname: "InvalidLocalRange",
|
testname: "InvalidLocalRange",
|
||||||
network: models.Network{
|
network: models.Network{
|
||||||
|
NetID: "skynet",
|
||||||
LocalRange: "192.168.0.1",
|
LocalRange: "192.168.0.1",
|
||||||
},
|
},
|
||||||
errMessage: "Field validation for 'LocalRange' failed on the 'cidr' tag",
|
errMessage: "Field validation for 'LocalRange' failed on the 'cidr' tag",
|
||||||
@@ -276,8 +282,10 @@ func TestValidateNetworkUpdate(t *testing.T) {
|
|||||||
}
|
}
|
||||||
for _, tc := range cases {
|
for _, tc := range cases {
|
||||||
t.Run(tc.testname, func(t *testing.T) {
|
t.Run(tc.testname, func(t *testing.T) {
|
||||||
|
t.Log(tc.testname)
|
||||||
network := models.Network(tc.network)
|
network := models.Network(tc.network)
|
||||||
err := logic.ValidateNetworkUpdate(network)
|
network.SetDefaults()
|
||||||
|
err := logic.ValidateNetwork(&network, false)
|
||||||
assert.NotNil(t, err)
|
assert.NotNil(t, err)
|
||||||
assert.Contains(t, err.Error(), tc.errMessage)
|
assert.Contains(t, err.Error(), tc.errMessage)
|
||||||
})
|
})
|
||||||
|
@@ -622,28 +622,6 @@ func ParseNetwork(value string) (models.Network, error) {
|
|||||||
return network, err
|
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
|
// KeyUpdate - updates keys on network
|
||||||
func KeyUpdate(netname string) (models.Network, error) {
|
func KeyUpdate(netname string) (models.Network, error) {
|
||||||
err := networkNodesUpdateAction(netname, models.NODE_UPDATE_KEY)
|
err := networkNodesUpdateAction(netname, models.NODE_UPDATE_KEY)
|
||||||
|
Reference in New Issue
Block a user