Spaces:
Sleeping
Sleeping
| // _ _ | |
| // __ _____ __ ___ ___ __ _| |_ ___ | |
| // \ \ /\ / / _ \/ _` \ \ / / |/ _` | __/ _ \ | |
| // \ V V / __/ (_| |\ V /| | (_| | || __/ | |
| // \_/\_/ \___|\__,_| \_/ |_|\__,_|\__\___| | |
| // | |
| // Copyright © 2016 - 2024 Weaviate B.V. All rights reserved. | |
| // | |
| // CONTACT: [email protected] | |
| // | |
| package schema | |
| import ( | |
| "testing" | |
| ) | |
| func TestValidateOKClassName(t *testing.T) { | |
| _, err := ValidateClassName("FooBar") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidateClassName("FooBar2") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidateClassName("Foo_______bar__with_numbers___1234567890_and_2") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidateClassName("C_123456___foo_bar_2") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidateClassName("NormalClassNameWithNumber1") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidateClassName("Normal__Class__Name__With__Number__1") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidateClassName("CClassName") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| } | |
| func TestFailValidateBadClassName(t *testing.T) { | |
| _, err := ValidateClassName("Foo Bar") | |
| if err == nil { | |
| t.Fail() | |
| } | |
| _, err = ValidateClassName("foo") | |
| if err == nil { | |
| t.Fail() | |
| } | |
| _, err = ValidateClassName("fooBar") | |
| if err == nil { | |
| t.Fail() | |
| } | |
| _, err = ValidateClassName("_foo") | |
| if err == nil { | |
| t.Fail() | |
| } | |
| } | |
| func TestValidateOKPropertyName(t *testing.T) { | |
| // valid proper names | |
| _, err := ValidatePropertyName("fooBar") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidatePropertyName("fooBar2") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidatePropertyName("_fooBar2") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidatePropertyName("intField") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidatePropertyName("hasAction") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidatePropertyName("_foo_bar_2") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidatePropertyName("______foo_bar_2") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidatePropertyName("___123456___foo_bar_2") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidatePropertyName("a_very_Long_property_Name__22_with_numbers_9") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidatePropertyName("a_very_Long_property_Name__22_with_numbers_9880888800888800008") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| _, err = ValidatePropertyName("FooBar") | |
| if err != nil { | |
| t.Fail() | |
| } | |
| } | |
| func TestFailValidateBadPropertyName(t *testing.T) { | |
| _, err := ValidatePropertyName("foo Bar") | |
| if err == nil { | |
| t.Fail() | |
| } | |
| _, err = ValidatePropertyName("a_very_Long_property_Name__22_with-dash_9") | |
| if err == nil { | |
| t.Fail() | |
| } | |
| _, err = ValidatePropertyName("1_FooBar") | |
| if err == nil { | |
| t.Fail() | |
| } | |
| } | |
| func TestValidateReservedPropertyName(t *testing.T) { | |
| type args struct { | |
| name string | |
| } | |
| tests := []struct { | |
| name string | |
| args args | |
| wantErr bool | |
| }{ | |
| { | |
| name: "Reserved name: _additional", | |
| args: args{ | |
| name: "_additional", | |
| }, | |
| wantErr: true, | |
| }, | |
| { | |
| name: "Reserved name: id", | |
| args: args{ | |
| name: "id", | |
| }, | |
| wantErr: true, | |
| }, | |
| { | |
| name: "Reserved name: _id", | |
| args: args{ | |
| name: "_id", | |
| }, | |
| wantErr: true, | |
| }, | |
| } | |
| for _, tt := range tests { | |
| t.Run(tt.name, func(t *testing.T) { | |
| if err := ValidateReservedPropertyName(tt.args.name); (err != nil) != tt.wantErr { | |
| t.Errorf("ValidateReservedPropertyName() error = %v, wantErr %v", err, tt.wantErr) | |
| } | |
| }) | |
| } | |
| } | |