概要
E2E テストで UserStoreType を切り替えられるようにしたい。
現在のテストは mem(メモリ)だけを通しており、SQL 系のストアは一度も実行されていない。
このため、sql / ora / npg の経路は「読んで確かめる」ところまでしか検証できない。
現状
対応
- テストの実行時に
UserStoreType を切り替えられるようにする
(2_RunAllTests.ps1 / test.ps1 の引数、または環境変数)
- 切り替えた場合の前提を整える
- データベースの作成(
Create_UserStore.sql を流す)
- テストの前後の掃除(
mem と違い、状態が残る)
- 接続文字列の扱い(資格情報はリポジトリに置かない。既存の方針に従う)
- どのストアを既定にするかを決める(
mem のままにして、SQL 系は任意実行が現実的か)
- CI で回すかどうかは別途判断(DBMS の用意が要るため)
検証
利用者への影響
無し。 テストの実行方法が増えるだけで、製品の動作は変わらない。
ただしこれまで未検証だった経路の不具合が見つかる可能性はある(それが目的)。
概要
E2E テストで
UserStoreTypeを切り替えられるようにしたい。現在のテストは
mem(メモリ)だけを通しており、SQL 系のストアは一度も実行されていない。このため、
sql/ora/npgの経路は「読んで確かめる」ところまでしか検証できない。現状
root/programs/Tests/E2ETestsはUserStoreType=memを前提にしている(
Tests/README.md: 「テスト ユーザは初回アクセスで作られ、再起動で消えるので、テストの前後で状態を掃除する必要が無い」)。
oracleのCreate_UserStore.sqlにDeviceAuthZDataとCibaDataが無かった(6 年以上、取り残されていた)
pstgrsの索引 2 行が、実行できない SQL だった(対象表が
CibaData、列の位置に表名。CREATE UNIQUE INDEX ... ON CibaData (DeviceAuthZData))root/CompareDdl.ps1(3 つの RDB の DDL がミラーになっていない(oracle に DeviceAuthZData と CibaData が無い) #206 で追加)は定義の食い違いを機械的に見つけるが、SQL が実行できるかは分からない。
対応
UserStoreTypeを切り替えられるようにする(
2_RunAllTests.ps1/test.ps1の引数、または環境変数)Create_UserStore.sqlを流す)memと違い、状態が残る)memのままにして、SQL 系は任意実行が現実的か)検証
memでの通しが、これまでどおり通ること(既定を変えない限り、件数も変わらない)SM)と基本(TC)が通ることEX-4)と CIBA(EX-8)は、SQL 系で初めて実行される。3 つの RDB の DDL がミラーになっていない(oracle に DeviceAuthZData と CibaData が無い) #206 で直した DDL が正しいかは、ここで初めて分かる
利用者への影響
無し。 テストの実行方法が増えるだけで、製品の動作は変わらない。
ただしこれまで未検証だった経路の不具合が見つかる可能性はある(それが目的)。