2025-03-17 18:14:15 +00:00
|
|
|
package queryapi_test
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"net/http"
|
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
|
|
queryapi "queryorchestration/api/queryAPI"
|
|
|
|
|
"queryorchestration/internal/database/repository"
|
2025-05-20 12:47:22 +00:00
|
|
|
"queryorchestration/internal/test"
|
2025-03-17 18:14:15 +00:00
|
|
|
|
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func TestListDocumentsByClientId(t *testing.T) {
|
2025-05-20 12:47:22 +00:00
|
|
|
t.Parallel()
|
2025-05-23 00:20:01 +00:00
|
|
|
cfg := &ControllerConfig{}
|
|
|
|
|
test.CreateDB(t, cfg)
|
2025-03-17 18:14:15 +00:00
|
|
|
|
2025-05-23 00:20:01 +00:00
|
|
|
svc := createControllerServices(cfg)
|
|
|
|
|
cons := queryapi.NewControllers(svc)
|
2025-03-17 18:14:15 +00:00
|
|
|
|
2025-05-20 12:47:22 +00:00
|
|
|
err := cfg.GetDBQueries().CreateClient(t.Context(), &repository.CreateClientParams{
|
|
|
|
|
Clientid: "client_id",
|
|
|
|
|
Name: "client_name",
|
|
|
|
|
})
|
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
docId, err := cfg.GetDBQueries().CreateDocument(t.Context(), &repository.CreateDocumentParams{
|
|
|
|
|
Clientid: "client_id",
|
|
|
|
|
Hash: "hash",
|
|
|
|
|
})
|
|
|
|
|
require.NoError(t, err)
|
2025-03-17 18:14:15 +00:00
|
|
|
|
2025-05-20 12:47:22 +00:00
|
|
|
ctx, rec := createContext(t)
|
2025-03-17 18:14:15 +00:00
|
|
|
|
2025-05-20 12:47:22 +00:00
|
|
|
err = cons.ListDocumentsByClientId(ctx, "client_id")
|
2025-03-19 11:54:14 +00:00
|
|
|
require.NoError(t, err)
|
2025-03-17 18:14:15 +00:00
|
|
|
assert.Equal(t, http.StatusOK, rec.Code)
|
2025-05-20 12:47:22 +00:00
|
|
|
assertBody(t, rec, queryapi.ListDocuments{
|
|
|
|
|
{
|
|
|
|
|
Id: docId,
|
|
|
|
|
Hash: "hash",
|
|
|
|
|
},
|
|
|
|
|
})
|
2025-03-17 18:14:15 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func TestGetDocument(t *testing.T) {
|
2025-05-20 12:47:22 +00:00
|
|
|
t.Parallel()
|
2025-05-23 00:20:01 +00:00
|
|
|
cfg := &ControllerConfig{}
|
|
|
|
|
test.CreateDB(t, cfg)
|
2025-03-17 18:14:15 +00:00
|
|
|
|
2025-05-23 00:20:01 +00:00
|
|
|
svc := createControllerServices(cfg)
|
|
|
|
|
cons := queryapi.NewControllers(svc)
|
2025-03-17 18:14:15 +00:00
|
|
|
|
2025-05-20 12:47:22 +00:00
|
|
|
err := cfg.GetDBQueries().CreateClient(t.Context(), &repository.CreateClientParams{
|
|
|
|
|
Clientid: "client_id",
|
|
|
|
|
Name: "client_name",
|
|
|
|
|
})
|
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
docId, err := cfg.GetDBQueries().CreateDocument(t.Context(), &repository.CreateDocumentParams{
|
|
|
|
|
Clientid: "client_id",
|
|
|
|
|
Hash: "hash",
|
|
|
|
|
})
|
|
|
|
|
require.NoError(t, err)
|
2025-03-17 18:14:15 +00:00
|
|
|
|
2025-05-20 12:47:22 +00:00
|
|
|
ctx, rec := createContext(t)
|
2025-03-17 18:14:15 +00:00
|
|
|
|
|
|
|
|
err = cons.GetDocument(ctx, docId)
|
2025-03-19 11:54:14 +00:00
|
|
|
require.NoError(t, err)
|
2025-03-17 18:14:15 +00:00
|
|
|
assert.Equal(t, http.StatusOK, rec.Code)
|
2025-05-20 12:47:22 +00:00
|
|
|
assertBody(t, rec, queryapi.Document{
|
|
|
|
|
Id: docId,
|
|
|
|
|
ClientId: "client_id",
|
|
|
|
|
Hash: "hash",
|
|
|
|
|
Fields: map[string]interface{}{},
|
|
|
|
|
})
|
2025-03-17 18:14:15 +00:00
|
|
|
}
|