diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 68b39f3..1e65204 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,9 +1,9 @@ -name: Test API +name: JobSpy API Tests on: [push, pull_request] jobs: - test_returned_results: + test_api: runs-on: ubuntu-latest steps: @@ -39,7 +39,7 @@ jobs: exit 1 fi - - name: Verify results count + - name: Check HTTP status to POST /api/v1/jobs/ run: | response=$(curl -L -s -X 'POST' -H 'Content-Type: application/json' -d '{ "site_type": ["indeed", "linkedin", "zip_recruiter"], @@ -59,13 +59,32 @@ jobs: fi echo "${response::-3}" > response.json - cat response.json - - if [[ $indeed.returned_results -ne 5 || $linkedin.returned_results -ne 5 || $zip_recruiter.returned_results -ne 5 ]]; then - echo "Mismatch in results_wanted and returned_results:" - echo "Indeed: Expected 5, Got $indeed.returned_results" - echo "LinkedIn: Expected 5, Got $linkedin.returned_results" - echo "ZipRecruiter: Expected 5, Got $zip_recruiter.returned_results" + + - name: Check error field in response + run: | + indeed_error=$(jq '.indeed.error' response.json) + linkedin_error=$(jq '.linkedin.error' response.json) + zip_recruiter_error=$(jq '.zip_recruiter.error' response.json) + + if [[ "$indeed_error" != "null" || "$linkedin_error" != "null" || "$zip_recruiter_error" != "null" ]]; then + echo "Error found in response:" + echo "Indeed Error: $indeed_error" + echo "LinkedIn Error: $linkedin_error" + echo "ZipRecruiter Error: $zip_recruiter_error" exit 1 fi + + - name: Verify returned_results in response + run: | + indeed_results=$(jq '.indeed.returned_results' response.json) + linkedin_results=$(jq '.linkedin.returned_results' response.json) + zip_recruiter_results=$(jq '.zip_recruiter.returned_results' response.json) + + if [[ $indeed_results -ne 5 || $linkedin_results -ne 5 || $zip_recruiter_results -ne 5 ]]; then + echo "Mismatch in results_wanted and returned_results:" + echo "Indeed: Expected 5, Got $indeed_results" + echo "LinkedIn: Expected 5, Got $linkedin_results" + echo "ZipRecruiter: Expected 5, Got $zip_recruiter_results" + exit 1 + fi \ No newline at end of file