mirror of
https://github.com/gravitl/netmaker.git
synced 2025-10-10 03:00:46 +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) {
|
||||
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)
|
||||
})
|
||||
|
@@ -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)
|
||||
|
Reference in New Issue
Block a user