diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ea9b343..b63bb40 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -28,3 +28,29 @@ jobs: export PATH="/usr/share/miniconda/bin:$PATH" source activate black pyflakes spython/oci spython/image spython/instance spython/main + + pytest: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + python-version: [3.7, 3.8, 3.9] + + steps: + - uses: actions/checkout@v2 + - uses: eWaterCycle/setup-singularity@1631b12cf3878381179be0eab9624219bc12979e # v6 release + + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + sudo ln -s $SINGULARITY_ROOT/bin/singularity /usr/bin/ + python -m pip install --upgrade pip + pip install pytest semver pytest-runner requests + + - name: Run unit tests + run: | + pytest diff --git a/spython/tests/test_client.py b/spython/tests/test_client.py index 5a5e352..7b2aba5 100644 --- a/spython/tests/test_client.py +++ b/spython/tests/test_client.py @@ -43,12 +43,16 @@ def test_docker_pull(docker_container): def test_execute(docker_container): result = Client.execute(docker_container[1], "ls /") print(result) + if isinstance(result, list): + result = "".join(result) assert "tmp\nusr\nvar" in result def test_execute_with_return_code(docker_container): result = Client.execute(docker_container[1], "ls /", return_result=True) print(result) + if isinstance(result["message"], list): + result["message"] = "".join(result["message"]) assert "tmp\nusr\nvar" in result["message"] assert result["return_code"] == 0