Przejdź do treści

KRET LANGUAGE ACADEMY · DOKUMENTACJA ZE ŹRÓDEŁ

KRETDB-A01-TransactionsTestsDenials — Transakcje, testy `kret test`, odmowy uprawnień i błędy schematu

KRETDB-A01-TransactionsTestsDenials — Transakcje, testy kret test, odmowy uprawnień i błędy schematu

🇬🇧 English version below.
PoleWartość
TechnologiaKretDB
PoziomADVANCED
KlasyfikacjaRUNNABLE_LOCAL — Uruchamialny lokalnie (SDK, izolowany proces pluginu)
PlaygroundLOCAL_EXECUTE — lokalnie: wykonanie w KretStudio / SDK (publicznie: tylko statycznie)
SDK1.0.0-rc.3+kret.local.3 (kandydat lokalny, niepodpisany)
Wynik testuTEST_RESULTS.json, rzeczywisty wynik: EXPECTED_OUTPUT.txt

Co pokazuje

db.begin/commit/rollback, testy KretDB w izolowanym procesie (każdy moduł testowy dostaje świeżą bazę), odmowa zapisu, gdy polityka hosta przyznaje tylko odczyt (readonly/), oraz błąd schematu: dwa klucze główne (bad-schema/).

Pliki

Plik
Disk/Schema.kdb
Script/Main.krs
Tests/LedgerTests.krs
bad-schema/Disk/Schema.kdb
bad-schema/Script/Main.krs
bad-schema/plugin.kretl
host-policy.json
plugin.kretl
readonly/Disk/Schema.kdb
readonly/Script/Main.krs
readonly/host-policy.json
readonly/plugin.kretl

Jak uruchomić

Katalog roboczy: katalog tego przykładu. kret oznacza <SDK>\Compiler\kret.exe, kretui-host — <SDK>\UiHost\kretui-host.exe. {DATA} / {OUT} to nowe, puste katalogi poza projektem. Wymagania: REQUIREMENTS.md.

  1. kret check . --json — walidacja
  2. kret run . --policy host-policy.json --data {DATA} — transakcje i wycofanie
  3. kret test . --json --policy host-policy.json — testy KretDB (polityka hosta przyznaje uprawnienia testom)
  4. kret run readonly --policy readonly/host-policy.json --data {DATA}/ro — zapis bez przyznania → odmowa obsłużona w kodzie
  5. kret check bad-schema --json — dwa klucze główne → KCS-KDB-02xx (oczekiwany błąd)

Oczekiwany wynik

a=70 b=30 odmowa=tak; testy 2 × PASS; wariant tylko-do-odczytu zwraca zapis=odmowa; zły schemat kończy się kodem 1.

Najczęstszy błąd

Uruchomienie kret test bez --policy — testy nie dostają wtedy żadnych uprawnień i każda operacja db.* jest odmową.

Źródło i wersja

Zweryfikowany import PUBLIC_CANDIDATE. Identyfikatory źródeł odnoszą się do eksportu i nie dają dostępu do plików serwera.

01_LANGUAGES/KretDB/Examples/ADVANCED_TransactionsTestsDenials/README.md
SHA-256 913C92151BF6F70730C29B7F0ADFCBC0E0B68E54BCB6C1EFDC282BB345AF3AF3

Oryginalne źródło jest dwujęzyczne; terminy techniczne i polecenia zachowano.

Zaloguj się na konto użytkownika, aby zapisywać postęp i zakładki. Konta obsługi mogą czytać bez zapisu postępu. Logowanie →

Wybierz, co możemy zapamiętać w tej przeglądarce. Możesz zmienić decyzję w każdej chwili.

Polityka prywatności