You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.0 KiB
38 lines
1.0 KiB
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")
|
|
}
|
|
}
|