diff options
Diffstat (limited to 'weed/query/engine/noschema_error_test.go')
| -rw-r--r-- | weed/query/engine/noschema_error_test.go | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/weed/query/engine/noschema_error_test.go b/weed/query/engine/noschema_error_test.go new file mode 100644 index 000000000..31d98c4cd --- /dev/null +++ b/weed/query/engine/noschema_error_test.go @@ -0,0 +1,38 @@ +package engine + +import ( + "errors" + "fmt" + "testing" +) + +func TestNoSchemaError(t *testing.T) { + // Test creating a NoSchemaError + err := NoSchemaError{Namespace: "test", Topic: "topic1"} + expectedMsg := "topic test.topic1 has no schema" + if err.Error() != expectedMsg { + t.Errorf("Expected error message '%s', got '%s'", expectedMsg, err.Error()) + } + + // Test IsNoSchemaError with direct NoSchemaError + if !IsNoSchemaError(err) { + t.Error("IsNoSchemaError should return true for NoSchemaError") + } + + // Test IsNoSchemaError with wrapped NoSchemaError + wrappedErr := fmt.Errorf("wrapper: %w", err) + if !IsNoSchemaError(wrappedErr) { + t.Error("IsNoSchemaError should return true for wrapped NoSchemaError") + } + + // Test IsNoSchemaError with different error type + otherErr := errors.New("different error") + if IsNoSchemaError(otherErr) { + t.Error("IsNoSchemaError should return false for other error types") + } + + // Test IsNoSchemaError with nil + if IsNoSchemaError(nil) { + t.Error("IsNoSchemaError should return false for nil") + } +} |
