openmeter / namespace /namespace_test.go
Leon4gr45's picture
Upload folder using huggingface_hub (part 6)
d6f631f verified
Raw
History Blame Contribute Delete
2.64 kB
package namespace
import (
"context"
"sync"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func newFakeHandler() *fakeHandler {
return &fakeHandler{
namespaces: map[string]bool{},
}
}
type fakeHandler struct {
namespaces map[string]bool
mu sync.Mutex
}
func (h *fakeHandler) CreateNamespace(_ context.Context, name string) error {
h.mu.Lock()
defer h.mu.Unlock()
h.namespaces[name] = true
return nil
}
func (h *fakeHandler) DeleteNamespace(_ context.Context, name string) error {
h.mu.Lock()
defer h.mu.Unlock()
delete(h.namespaces, name)
return nil
}
func TestManager_CreateNamespce(t *testing.T) {
handler := newFakeHandler()
manager, err := NewManager(ManagerConfig{
Handlers: []Handler{handler},
DefaultNamespace: "default",
})
require.NoError(t, err)
const namespace = "my-namespace"
err = manager.CreateNamespace(context.Background(), namespace)
require.NoError(t, err)
assert.True(t, handler.namespaces[namespace])
}
func TestManager_CreateDefaultNamespce(t *testing.T) {
handler := newFakeHandler()
manager, err := NewManager(ManagerConfig{
Handlers: []Handler{handler},
DefaultNamespace: "default",
})
require.NoError(t, err)
err = manager.CreateDefaultNamespace(context.Background())
require.NoError(t, err)
assert.True(t, handler.namespaces["default"])
}
func TestManager_DeleteNamespce(t *testing.T) {
handler := newFakeHandler()
manager, err := NewManager(ManagerConfig{
Handlers: []Handler{handler},
DefaultNamespace: "default",
})
require.NoError(t, err)
const namespace = "my-namespace"
err = manager.CreateNamespace(context.Background(), namespace)
require.NoError(t, err)
assert.True(t, handler.namespaces[namespace])
err = manager.DeleteNamespace(context.Background(), namespace)
require.NoError(t, err)
assert.False(t, handler.namespaces[namespace])
}
func TestManager_Register(t *testing.T) {
handler := newFakeHandler()
handler2 := newFakeHandler()
manager, err := NewManager(ManagerConfig{
Handlers: []Handler{handler},
DefaultNamespace: "default",
})
require.NoError(t, err)
err = manager.RegisterHandler(handler2)
require.NoError(t, err)
const namespace = "my-namespace"
err = manager.CreateNamespace(context.Background(), namespace)
require.NoError(t, err)
assert.True(t, handler.namespaces[namespace])
assert.True(t, handler2.namespaces[namespace])
err = manager.DeleteNamespace(context.Background(), namespace)
require.NoError(t, err)
assert.False(t, handler.namespaces[namespace])
assert.False(t, handler2.namespaces[namespace])
}