Skip to content

Commit

Permalink
Add sdk test job that runs against an active server
Browse files Browse the repository at this point in the history
  • Loading branch information
legoktm committed Dec 15, 2023
1 parent 4c084ab commit 0748ff3
Show file tree
Hide file tree
Showing 2 changed files with 44 additions and 0 deletions.
39 changes: 39 additions & 0 deletions .github/workflows/sdk.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: SDK
on: [push, pull_request]

defaults:
run:
shell: bash

jobs:
sdk-with-server:
runs-on: ubuntu-latest
env:
DOCKERIZE_VERSION: "v0.7.0"
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v4
with:
repository: "freedomofpress/securedrop"
ref: "better-tty"
path: "securedrop-server"
- uses: actions/setup-python@v5
with:
python-version: "3.9"
- name: Install dependencies
run: |
pip install poetry==1.6.1
wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz &&
tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz &&
rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz
- name: Run tests without VCR cassettes
run: |
# Start the server in the background
NUM_SOURCES=5 make -C securedrop-server dev &
# And install deps
poetry -C client install --no-ansi
# Wait for server to come up
dockerize -wait http://127.0.0.1:8080 -timeout 10m
# Run tests
rm client/tests/sdk/data/*.yml
make -C client test-sdk
5 changes: 5 additions & 0 deletions client/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,7 @@ clean: ## Clean the workspace of generated resources
TESTS ?= tests
ITESTS ?= tests/integration
FTESTS ?= tests/functional
STESTS ?= tests/sdk
TESTOPTS ?= -v --cov-config .coveragerc --cov-report html --cov-report term-missing --cov=securedrop_client --cov-fail-under 90
RANDOM_SEED ?= $(shell bash -c 'echo $$RANDOM')

Expand Down Expand Up @@ -104,6 +105,10 @@ test-integration: ## Run the integration tests
test-functional: ## Run the functional tests
@./test-functional.sh

.PHONY: test-sdk
test-sdk: ## Run just the sdk tests
@poetry run pytest -v $(STESTS)

.PHONY: lint
lint: ## Run the linters
@poetry run flake8 securedrop_client tests
Expand Down

0 comments on commit 0748ff3

Please sign in to comment.