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

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")
}
}