openmeter / app /common /ledger_test.go
Leon4gr45's picture
Upload folder using huggingface_hub (part 4)
1f10f31 verified
Raw
History Blame Contribute Delete
1.37 kB
package common
import (
"fmt"
"testing"
"time"
"github.com/stretchr/testify/require"
ledgeraccountdb "github.com/openmeterio/openmeter/openmeter/ent/db/ledgeraccount"
"github.com/openmeterio/openmeter/openmeter/ledger"
ledgertestutils "github.com/openmeterio/openmeter/openmeter/ledger/testutils"
"github.com/openmeterio/openmeter/openmeter/testutils"
)
func TestLedgerNamespaceHandlerIsSafeForRepeatedCreateNamespaceCalls(t *testing.T) {
testDB := testutils.InitPostgresDB(t, testutils.PostgresDBStateAtlasMigrated)
t.Cleanup(func() {
require.NoError(t, testDB.EntDriver.Close())
require.NoError(t, testDB.PGDriver.Close())
})
deps, err := ledgertestutils.InitDeps(testDB.EntDriver.Client(), testutils.NewDiscardLogger(t))
require.NoError(t, err)
handler := NewLedgerNamespaceHandler(deps.ResolversService)
namespace := fmt.Sprintf("startup-test-%d", time.Now().UnixNano())
require.NoError(t, handler.CreateNamespace(t.Context(), namespace))
require.NoError(t, handler.CreateNamespace(t.Context(), namespace))
count, err := testDB.EntDriver.Client().LedgerAccount.Query().
Where(
ledgeraccountdb.Namespace(namespace),
ledgeraccountdb.AccountTypeIn(
ledger.AccountTypeWash,
ledger.AccountTypeEarnings,
ledger.AccountTypeBrokerage,
),
).
Count(t.Context())
require.NoError(t, err)
require.Equal(t, 3, count)
}