test: migrate twins undeclared store blobs (finalize-consistency, EGB-710)
This commit is contained in:
parent
c121982dcd
commit
e75627deff
1 changed files with 18 additions and 0 deletions
|
|
@ -140,6 +140,24 @@ m_file_src() { mkdir -p "$HOME/keystores"; printf 'KS\x00\x01\x02\xffDATA\n' >
|
||||||
[ "$status" -eq 0 ] # v1 kept (non-destructive)
|
[ "$status" -eq 0 ] # v1 kept (non-destructive)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@test "migrate twins a store blob even when the manifest no longer declares it" {
|
||||||
|
make_v1_store
|
||||||
|
m_gradle_src $'beaconClerkPkTest=pk_test_abc\n'
|
||||||
|
create_project_dir staleblob
|
||||||
|
printf 'gradle-properties ~/.gradle/gradle.properties beaconClerkPkTest\n' > .secrets-files
|
||||||
|
"$SECRETS_BIN" push staleblob >/dev/null 2>&1
|
||||||
|
# The blob is now in the store. Drop the external from the project's manifest
|
||||||
|
# entirely (and remove the legacy file) so NO manifest declares it.
|
||||||
|
printf '{"version":2,"dotenv":[".env",".env.staging"]}\n' > .secrets.json
|
||||||
|
rm -f .secrets-files
|
||||||
|
run bash -c "ls $SECRETS_DIR/staleblob/external/*.gradle-properties.age"
|
||||||
|
[ "$status" -eq 0 ] # precondition: the v1 blob exists in the store
|
||||||
|
run "$SECRETS_BIN" migrate
|
||||||
|
[ "$status" -eq 0 ]
|
||||||
|
run bash -c "ls $SECRETS_DIR/staleblob/external/*.properties.age"
|
||||||
|
[ "$status" -eq 0 ] # twinned despite not being declared anywhere
|
||||||
|
}
|
||||||
|
|
||||||
@test "migrate in a project with no manifest and no store blobs is a clean no-op" {
|
@test "migrate in a project with no manifest and no store blobs is a clean no-op" {
|
||||||
make_v1_store
|
make_v1_store
|
||||||
local dir="$WORK_DIR/nomanifest"; mkdir -p "$dir"; cd "$dir"
|
local dir="$WORK_DIR/nomanifest"; mkdir -p "$dir"; cd "$dir"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue