Repository: GSA/datagov-harvester (language: python)

Issue:
Tests for validation of DCAT-US records
# Pull Request

Related to [ticket](https://github.com/GSA/data.gov/issues/4256)

## About

Tests for validation of DCAT-US records. All JSON files in this [directory](https://github.com/GSA/ckanext-datajson/tree/main/ckanext/datajson/tests/datajson-samples) are used. 

## PR TASKS

- [ ] The actual code changes.
- [x] Tests written and passed.
- [ ] Any changes to docs?
- [ ] Bumped version number in [setup.py](https://github.com/GSA/ckanext-geodatagov/blob/main/setup.py#L13) (also checked on [PyPi](https://pypi.org/project/ckanext-geodatagov/#history)).


Discussion / hints:
<!-- Pytest Coverage Comment: test -->
<a href="https://github.com/GSA/datagov-harvesting-logic/blob/80b1826b8863a08f6443516d3080f5cceeb84c0e/README.md"><img alt="Coverage" src="https://img.shields.io/badge/Coverage-100%25-brightgreen.svg" /></a><details><summary>Coverage Report </summary><table><tr><th>File</th><th>Stmts</th><th>Miss</th><th>Cover</th></tr><tbody><tr><td colspan="4"><b>datagovharvester/utils</b></td></tr><tr><td>&nbsp; &nbsp;<a href="https://github.com/GSA/datagov-harvesting-logic/blob/80b1826b8863a08f6443516d3080f5cceeb84c0e/datagovharvester/utils/__init__.py">\_\_init\_\_.py</a></td><td>0</td><td>0</td><td>100%</td></tr><tr><td>&nbsp; &nbsp;<a href="https://github.com/GSA/datagov-harvesting-logic/blob/80b1826b8863a08f6443516d3080f5cceeb84c0e/datagovharvester/utils/json_utilities.py">json_utilities.py</a></td><td>4</td><td>0</td><td>100%</td></tr><tr><td colspan="4"><b>datagovharvester/validate</b></td></tr><tr><td>&nbsp; &nbsp;<a href="https://github.com/GSA/datagov-harvesting-logic/blob/80b1826b8863a08f6443516d3080f5cceeb84c0e/datagovharvester/validate/__init__.py">\_\_init\_\_.py</a></td><td>0</td><td>0</td><td>100%</td></tr><tr><td>&nbsp; &nbsp;<a href="https://github.com/GSA/datagov-harvesting-logic/blob/80b1826b8863a08f6443516d3080f5cceeb84c0e/datagovharvester/validate/dcat_us.py">dcat_us.py</a></td><td>20</td><td>0</td><td>100%</td></tr><tr><td><b>TOTAL</b></td><td><b>24</b></td><td><b>0</b></td><td><b>100%</b></td></tr></tbody></table></details>

| Tests | Skipped | Failures | Errors | Time |
| ----- | ------- | -------- | -------- | ------------------ |
| 12 | 0 :zzz: | 0 :x: | 0 :fire: | 13.492s :stopwatch: |

Spent some time better understanding [the pyproject.toml file](https://python-poetry.org/docs/pyproject/#packages). Mistakenly deleted the example package and replaced the `--cov` value in the action yml. 

Fix patch:
diff --git a/pyproject.toml b/pyproject.toml
index 70ac766c..696fcfc2 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -7,7 +7,7 @@ readme = "README.md"
 packages = [{include = "datagovharvester"}]
 
 [tool.poetry.dependencies]
-python = "^3.9"
+python = ">=3.9"
 jsonschema = "^4.17.3"
 
 [tool.poetry.group.dev.dependencies]


Test patch:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 3e15cf3d..aa7b42a2 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -1,25 +1,38 @@
-name: lint and tests
+name: Tests on Commit
 on: [push, pull_request]
 
+env:
+  PY_VERSION: '3.9'
+
 jobs:
+  lint:
+    runs-on: ubuntu-latest
+    name: Python Lint
+    steps:
+      - uses: actions/checkout@v3
+      - uses: chartboost/ruff-action@v1
+
   test:
     runs-on: ubuntu-latest
+    name: Pytests
     steps:
       - name: Check out the code
-        uses: actions/checkout@v1
+        uses: actions/checkout@v3
         with:
           fetch-depth: 1
 
-      - name: Set up Python 3.9
+      - name: Set up Python ${{ env.PY_VERSION }}
         uses: actions/setup-python@v3
         with:
-          python-version: 3.9
+          python-version: ${{ env.PY_VERSION }}
 
       - name: Install Poetry
         run: curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/install-poetry.py | python -
 
       - name: Install Dependencies
-        run: poetry install
+        run: |
+          poetry env use ${{ env.PY_VERSION }}
+          poetry install
 
       - name: Run Pytest
         run: poetry run pytest --junitxml=pytest.xml --cov=datagovharvester | tee pytest-coverage.txt
@@ -30,10 +43,3 @@ jobs:
           pytest-coverage-path: pytest-coverage.txt
           junitxml-path: pytest.xml
           github-token: ${{ secrets.GITHUB_TOKEN }}
-
-  lint:
-    runs-on: ubuntu-latest
-
-    steps:
-      - uses: actions/checkout@v3
-      - uses: chartboost/ruff-action@v1