Skip to content

Commit

Permalink
tests: add spread tests for registries
Browse files Browse the repository at this point in the history
Signed-off-by: Callahan Kovacs <callahan.kovacs@canonical.com>
  • Loading branch information
mr-cal committed Oct 3, 2024
1 parent a22b218 commit bb07f05
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 0 deletions.
12 changes: 12 additions & 0 deletions tests/spread/store/registries/editor.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#! /bin/bash

registries_file="$1"

# flip-flop between 'access' being read and write
if grep -q "^ access:.*read" "$registries_file"; then
access="write"
else
access="read"
fi

sed -i "s/^\([[:space:]]*\)access:.*/\1access: $access/g" "$registries_file"
44 changes: 44 additions & 0 deletions tests/spread/store/registries/task.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
summary: test the registries commands

environment:
SNAPCRAFT_ASSERTION_KEY: "$(HOST: echo ${SNAPCRAFT_ASSERTION_KEY})"
SNAPCRAFT_STORE_CREDENTIALS: "$(HOST: echo ${SNAPCRAFT_STORE_CREDENTIALS_STAGING})"

prepare: |
if [[ -z "$SNAPCRAFT_STORE_CREDENTIALS" ]]; then
ERROR "No credentials set in env SNAPCRAFT_STORE_CREDENTIALS"
fi
if [[ -z "$SNAPCRAFT_ASSERTION_KEY" ]]; then
ERROR "No gpg key set in env SNAPCRAFT_ASSERTION_KEY"
fi
# setup snap gpg dir
mkdir -p "$HOME/.snap/gnupg"
chmod 700 "$HOME/.snap/gnupg"
# import a registered key
echo "$SNAPCRAFT_ASSERTION_KEY" | base64 --decode > store-key.txt
gpg --homedir "$HOME/.snap/gnupg" --import store-key.txt
rm -f store-key.txt
snap install yq
# registries only available in edge
snap refresh snapd --edge
execute: |
# ensure snapcraft is logged in and can access the store
snapcraft whoami
# snapcraft will use a fake file editor
export EDITOR="$PWD/editor.sh"
snapcraft edit-registries "$(snapcraft whoami | yq .id)" testset --key-name testspreadkey
snapcraft list-registries | MATCH testset
restore: |
rm -rf "$HOME/.snap/gnupg"
snap remove --purge yq
snap refresh snapd --stable

0 comments on commit bb07f05

Please sign in to comment.