Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fishchimp/features/fetch unavailability testing #179

Closed
wants to merge 17 commits into from

Conversation

fishchimp
Copy link
Contributor

Describe your changes

  • Pulled changes from John's branch
  • Made unit tests for the unavailability fetch (get) method.

Test 1: Success Retrieval of Unavailability Records

Objective: Verify that the system can successfully retrieve unavailability records for a volunteer with existing records.
Criteria:

  • The response status code must be 200, indicating a successful request.
  • The response must contain an 'unavailability' key, showing that unavailability data is being returned.
  • The 'unavailability' key must be associated with a list, indicating one or more unavailability records are present.

Test 2: No Unavailability Records Found

Objective: Confirm the system's response when a valid volunteer has no unavailability records.
Criteria:

  • The response status code should be 400, indicating a client-side error due to the absence of records.
  • To inform the client about the lack of records, the response body must explicitly indicate failure, with a structure matching {'userID': user_id, 'success': False}.

Test 3: Invalid Volunteer User ID

Objective: Ensure the system correctly handles requests for non-existent users.
Criteria:
The response status code should be 404, indicating that the requested resource (user or unavailability record) was not found.
The response should include a message indicating that the user was not found, making the error clear to the client.

Test 4: Unauthorized Access Attempt

Objective: Test the system's response to an unauthorized request, simulating a scenario where the requestor is not authenticated.
Criteria:

  • The response status code must be 401, signaling unauthorized access due to lack of or invalid authentication.
  • The response must contain an error message, providing feedback that authentication is required.

Test 5: Forbidden Access Attempt

Objective: Validate the system's handling of requests from authenticated users who do not have permission to access the requested data.
Criteria:

  • The response status code should be 403, indicating that the requestor is authenticated but lacks the necessary permissions to access the requested resource.
  • The response must include an error message, indicating the requestor's insufficient permissions.

Issue ticket number and link

Issue FE-146

NOTE: I'm a bit unsure how to do the tests for test 4 and test 5 as the original method has the @requires_auth decorative

Copy link
Collaborator

@emilymclean emilymclean left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Write a way to disable authentication checking globally, do not remove auth annotations.

@@ -59,8 +61,8 @@ def get(self, user_id):
else:
return jsonify({'userID': user_id, 'success': False}), 400

@requires_auth
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do not remove these. Make a global variable that allows you to disable these checks.

@@ -349,7 +349,7 @@ def get_position_qualification(session, position_id):
return qualification_id


# This can be called by api from postman, to test easily
# This can be called by api from postman, to tests easily
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please move this into the test directory. I know you didn't write it, but I would appreciate it.

dependabot bot and others added 11 commits March 14, 2024 16:00
Bumps [python-dotenv](https://github.com/theskumar/python-dotenv) from
1.0.0 to 1.0.1.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/theskumar/python-dotenv/releases">python-dotenv's
releases</a>.</em></p>
<blockquote>
<h2>v1.0.1</h2>
<h2>What's Changed</h2>
<ul>
<li>FIx year in release date in changelog.md by <a
href="https://github.com/jankislinger"><code>@​jankislinger</code></a>
in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/453">theskumar/python-dotenv#453</a></li>
<li>Gracefully handle code which has been imported from a zipfile by <a
href="https://github.com/samwyma"><code>@​samwyma</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/456">theskumar/python-dotenv#456</a></li>
<li>Use pathlib.Path in tests by <a
href="https://github.com/eumiro"><code>@​eumiro</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/466">theskumar/python-dotenv#466</a></li>
<li>fixes <a
href="https://redirect.github.com/theskumar/python-dotenv/issues/473">#473</a>
Use https in README links by <a
href="https://github.com/Nicals"><code>@​Nicals</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/474">theskumar/python-dotenv#474</a></li>
<li>Allow modules using load_dotenv to be reloaded when launched in a
separate thread by <a
href="https://github.com/freddyaboulton"><code>@​freddyaboulton</code></a>
in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/497">theskumar/python-dotenv#497</a></li>
<li>Fix error handling in the rewrite function by <a
href="https://github.com/Qwerty-133"><code>@​Qwerty-133</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/468">theskumar/python-dotenv#468</a></li>
<li>Add python 3.12 and pypy3.10 to test suite by <a
href="https://github.com/theskumar"><code>@​theskumar</code></a> in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/498">theskumar/python-dotenv#498</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a
href="https://github.com/jankislinger"><code>@​jankislinger</code></a>
made their first contribution in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/453">theskumar/python-dotenv#453</a></li>
<li><a href="https://github.com/samwyma"><code>@​samwyma</code></a> made
their first contribution in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/456">theskumar/python-dotenv#456</a></li>
<li><a href="https://github.com/eumiro"><code>@​eumiro</code></a> made
their first contribution in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/466">theskumar/python-dotenv#466</a></li>
<li><a href="https://github.com/Nicals"><code>@​Nicals</code></a> made
their first contribution in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/474">theskumar/python-dotenv#474</a></li>
<li><a
href="https://github.com/freddyaboulton"><code>@​freddyaboulton</code></a>
made their first contribution in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/497">theskumar/python-dotenv#497</a></li>
<li><a
href="https://github.com/Qwerty-133"><code>@​Qwerty-133</code></a> made
their first contribution in <a
href="https://redirect.github.com/theskumar/python-dotenv/pull/468">theskumar/python-dotenv#468</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/theskumar/python-dotenv/compare/v1.0.0...v1.0.1">https://github.com/theskumar/python-dotenv/compare/v1.0.0...v1.0.1</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md">python-dotenv's
changelog</a>.</em></p>
<blockquote>
<h2>[1.0.1] - 2024-01-23</h2>
<p><strong>Fixed</strong></p>
<ul>
<li>Gracefully handle code which has been imported from a zipfile (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/456">#456</a>
by [<a
href="https://github.com/samwyma"><code>@​samwyma</code></a>])</li>
<li>Allow modules using load_dotenv to be reloaded when launched in a
separate thread (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/497">#497</a>
by [<a
href="https://github.com/freddyaboulton"><code>@​freddyaboulton</code></a>])</li>
<li>Fix file not closed after deletion, handle error in the rewrite
function (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/469">#469</a>
by [<a
href="https://github.com/Qwerty-133"><code>@​Qwerty-133</code></a>])</li>
</ul>
<p><strong>Misc</strong></p>
<ul>
<li>Use pathlib.Path in tests (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/466">#466</a>
by [<a href="https://github.com/eumiro"><code>@​eumiro</code></a>])</li>
<li>Fix year in release date in changelog.md (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/454">#454</a>
by [<a
href="https://github.com/jankislinger"><code>@​jankislinger</code></a>])</li>
<li>Use https in README links (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/474">#474</a>
by [<a href="https://github.com/Nicals"><code>@​Nicals</code></a>])</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/d6c0b9638349a7dd605d60ee555ff60421c1a594"><code>d6c0b96</code></a>
Bumpversion 1.0.0 -&gt; 1.0.1</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/42dc08664bc7cef185a139137a39126a030f272c"><code>42dc086</code></a>
Update changelog for 1.0.1</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/b1eebbaaab2cf3e1c48fa5c7ad88cfb00e4b5e54"><code>b1eebba</code></a>
Add python 3.12 and pypy3.10 to test runner</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/6ff139147559eff4d124c038ec5a4b60ffcf3033"><code>6ff1391</code></a>
Fix temporary file is deleted before closing, in the rewrite function
(<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/468">#468</a>)</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/0b94ac0822241eb526828cf506048fb0525d5c38"><code>0b94ac0</code></a>
Allow modules using load_dotenv to be reloaded when launched in a
separate th...</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/3ffcef60d10813b72ecf85d5941d51b0207cd40e"><code>3ffcef6</code></a>
Use https in README links (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/474">#474</a>)</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/be96be259c7eaf687360367de53e5e099aea48df"><code>be96be2</code></a>
Use pathlib.Path in tests (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/466">#466</a>)</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/137bc3dc0b8cf3d417a1e800c4065c526e3fb96a"><code>137bc3d</code></a>
Gracefully handle code which has been imported from a zipfile (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/456">#456</a>)</li>
<li><a
href="https://github.com/theskumar/python-dotenv/commit/dd1af684f2586d2c2fdd722f9c45d3212e1e4e59"><code>dd1af68</code></a>
FIx year in release in changelog (<a
href="https://redirect.github.com/theskumar/python-dotenv/issues/453">#453</a>)</li>
<li>See full diff in <a
href="https://github.com/theskumar/python-dotenv/compare/v1.0.0...v1.0.1">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=python-dotenv&package-manager=pip&previous-version=1.0.0&new-version=1.0.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [packaging](https://github.com/pypa/packaging) from 23.2 to 24.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/packaging/releases">packaging's
releases</a>.</em></p>
<blockquote>
<h2>24.0</h2>
<h2>What's Changed</h2>
<ul>
<li>Fix specifier matching when the specifier is long and has an epoch
by <a href="https://github.com/SpecLad"><code>@​SpecLad</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/712">pypa/packaging#712</a></li>
<li>Clarify version split/join usage by <a
href="https://github.com/uranusjr"><code>@​uranusjr</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/725">pypa/packaging#725</a></li>
<li>Default optional metadata values to None by <a
href="https://github.com/dstufft"><code>@​dstufft</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/734">pypa/packaging#734</a></li>
<li>Stop using deprecated/removed keys by <a
href="https://github.com/dstufft"><code>@​dstufft</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/739">pypa/packaging#739</a></li>
<li>Correctly use the ExceptionGroup shim only when needed by <a
href="https://github.com/dstufft"><code>@​dstufft</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/736">pypa/packaging#736</a></li>
<li>Update CHANGELOG entry about <code>validate</code> kwarg by <a
href="https://github.com/pradyunsg"><code>@​pradyunsg</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/731">pypa/packaging#731</a></li>
<li>Support --disable-gil builds (PEP 703) in packaging.tags by <a
href="https://github.com/colesbury"><code>@​colesbury</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/728">pypa/packaging#728</a></li>
<li>Skip <code>test_glibc_version_string_ctypes_raise_oserror</code> if
<code>ctypes</code> is unavailable by <a
href="https://github.com/kevinchang96"><code>@​kevinchang96</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/741">pypa/packaging#741</a></li>
<li>Enable CodeQL by <a
href="https://github.com/joycebrum"><code>@​joycebrum</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/743">pypa/packaging#743</a></li>
<li>PEP 703: Rename <code>Py_NOGIL</code> to
<code>Py_GIL_DISABLED</code> by <a
href="https://github.com/hugovk"><code>@​hugovk</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/747">pypa/packaging#747</a></li>
<li>Replace PEP references with PUG links by <a
href="https://github.com/jeanas"><code>@​jeanas</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/750">pypa/packaging#750</a></li>
<li>Remove coverage ignore for non-existent file by <a
href="https://github.com/shenanigansd"><code>@​shenanigansd</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/752">pypa/packaging#752</a></li>
<li>Update URLs by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/764">pypa/packaging#764</a></li>
<li>Configure dependabot by <a
href="https://github.com/joycebrum"><code>@​joycebrum</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/757">pypa/packaging#757</a></li>
<li>Hash pin github actions by <a
href="https://github.com/joycebrum"><code>@​joycebrum</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/758">pypa/packaging#758</a></li>
<li>Apply some refurb suggestions by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/763">pypa/packaging#763</a></li>
<li>Appply some bugbear suggestions by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/761">pypa/packaging#761</a></li>
<li>Apply some ruff suggestions by <a
href="https://github.com/DimitriPapadopoulos"><code>@​DimitriPapadopoulos</code></a>
in <a
href="https://redirect.github.com/pypa/packaging/pull/772">pypa/packaging#772</a></li>
<li>Add riscv64 as a supported manylinux architecture by <a
href="https://github.com/markdryan"><code>@​markdryan</code></a> in <a
href="https://redirect.github.com/pypa/packaging/pull/751">pypa/packaging#751</a></li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a href="https://github.com/colesbury"><code>@​colesbury</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/728">pypa/packaging#728</a></li>
<li><a
href="https://github.com/kevinchang96"><code>@​kevinchang96</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/741">pypa/packaging#741</a></li>
<li><a href="https://github.com/jeanas"><code>@​jeanas</code></a> made
their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/750">pypa/packaging#750</a></li>
<li><a
href="https://github.com/shenanigansd"><code>@​shenanigansd</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/752">pypa/packaging#752</a></li>
<li><a href="https://github.com/markdryan"><code>@​markdryan</code></a>
made their first contribution in <a
href="https://redirect.github.com/pypa/packaging/pull/751">pypa/packaging#751</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/pypa/packaging/compare/23.2...24.0">https://github.com/pypa/packaging/compare/23.2...24.0</a></p>
</blockquote>
</details>
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/pypa/packaging/blob/main/CHANGELOG.rst">packaging's
changelog</a>.</em></p>
<blockquote>
<p>24.0 - 2024-03-10</p>
<pre><code>
* Do specifier matching correctly when the specifier contains an epoch
number
  and has more components than the version (:issue:`683`)
* Support the experimental ``--disable-gil`` builds in packaging.tags
  (:issue:`727`)
* BREAKING: Make optional ``metadata.Metadata`` attributes default to
``None`` (:issue:`733`)
* Fix errors when trying to access the ``description_content_type``,
``keywords``,
and ``requires_python`` attributes on ``metadata.Metadata`` when those
values
  have not been provided (:issue:`733`)
* Fix a bug preventing the use of the built in ``ExceptionGroup`` on
versions of
  Python that support it (:issue:`725`)
</code></pre>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/pypa/packaging/commit/7a983f7f0068669ead9d4f7571be24d6c0d83eb9"><code>7a983f7</code></a>
Bump for release</li>
<li><a
href="https://github.com/pypa/packaging/commit/4d8534061364e3cbfee582192ab81a095ec2db51"><code>4d85340</code></a>
Add riscv64 as a supported manylinux architecture (<a
href="https://redirect.github.com/pypa/packaging/issues/751">#751</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/4dce7618f59d623512b21d846da3e072e86aaf2e"><code>4dce761</code></a>
Apply some ruff suggestions (<a
href="https://redirect.github.com/pypa/packaging/issues/772">#772</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/57a6a7ff661930a8b0dde55663947b80cf3c196a"><code>57a6a7f</code></a>
Appply some bugbear suggestions (<a
href="https://redirect.github.com/pypa/packaging/issues/761">#761</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/7bcd6d8ec33f0a614f9d017d31be4b50ece1549a"><code>7bcd6d8</code></a>
Apply some refurb suggestions (<a
href="https://redirect.github.com/pypa/packaging/issues/763">#763</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/d0067e98b72ad6e09cfb890509c2228aa3476aa3"><code>d0067e9</code></a>
[StepSecurity] ci: Harden GitHub Actions (<a
href="https://redirect.github.com/pypa/packaging/issues/1">#1</a>) (<a
href="https://redirect.github.com/pypa/packaging/issues/758">#758</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/eae70ddedb444d43e33585f0017d53ccb62c40aa"><code>eae70dd</code></a>
feat: Create dependabot.yml (<a
href="https://redirect.github.com/pypa/packaging/issues/757">#757</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/241bb350d44ba3ecf11fffe096fdb7c376224c9c"><code>241bb35</code></a>
Update URLs (<a
href="https://redirect.github.com/pypa/packaging/issues/764">#764</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/769823740a8f5e6b0e37fd05f57f091b56b0ceeb"><code>7698237</code></a>
Remove coverage ignore for non-existent file (<a
href="https://redirect.github.com/pypa/packaging/issues/752">#752</a>)</li>
<li><a
href="https://github.com/pypa/packaging/commit/b271d2bd9463a6b7fd9b2b585ce16ac0b3097e59"><code>b271d2b</code></a>
Replace PEP references with PUG links (<a
href="https://redirect.github.com/pypa/packaging/issues/750">#750</a>)</li>
<li>Additional commits viewable in <a
href="https://github.com/pypa/packaging/compare/23.2...24.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=packaging&package-manager=pip&previous-version=23.2&new-version=24.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [mako](https://github.com/sqlalchemy/mako) from 1.2.4 to 1.3.2.
- [Release notes](https://github.com/sqlalchemy/mako/releases)
- [Changelog](https://github.com/sqlalchemy/mako/blob/main/CHANGES)
- [Commits](https://github.com/sqlalchemy/mako/commits)

---
updated-dependencies:
- dependency-name: mako
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Bumps [cffi](https://github.com/python-cffi/cffi) from 1.15.1 to 1.16.0.
<details>
<summary>Release notes</summary>
<p><em>Sourced from <a
href="https://github.com/python-cffi/cffi/releases">cffi's
releases</a>.</em></p>
<blockquote>
<h2>v1.16.0</h2>
<ul>
<li>Add support for Python 3.12. With the removal of
<code>distutils</code> from Python 3.12, projects
using CFFI features that depend on <code>distutils</code> at runtime
must add a dependency on
<code>setuptools</code> to function under Python 3.12+. CFFI does not
declare a runtime <code>setuptools</code>
requirement to avoid an unnecessary dependency for projects that do not
require it.</li>
<li>Drop support for end-of-life Python versions (2.7, 3.6, 3.7).</li>
<li>Add support for PEP517 builds; <code>setuptools</code> is now a
required build dependency.</li>
<li>Declare <code>python_requires</code> metadata for Python 3.8+. This
allows unsupported Pythons
to continue using previously released sdists and wheels.</li>
<li>Move project source under <code>src/</code>; a more standard layout
that also enables CI to more easily
catch packaging errors.</li>
</ul>
<h2>v1.16.0rc2</h2>
<ul>
<li>Fix packaging issue in v1.16.0rc1.</li>
<li>Rearrange project sources (<code>src/</code> layout) so packaging
tests can properly detect similar issues in the future.</li>
</ul>
<p><strong>Full Changelog</strong>: <a
href="https://github.com/python-cffi/cffi/compare/v1.16.0rc1...v1.16.0rc2">https://github.com/python-cffi/cffi/compare/v1.16.0rc1...v1.16.0rc2</a></p>
<h2>v1.16.0rc1</h2>
<ul>
<li>Add support for Python 3.12. With the removal of
<code>distutils</code> from Python 3.12, projects
using CFFI features that depend on <code>distutils</code> at runtime
must add a dependency on
<code>setuptools</code> to function under Python 3.12+. CFFI does not
declare a runtime <code>setuptools</code>
requirement to avoid an unnecessary dependency for projects that do not
require it.</li>
<li>Drop support for end-of-life Python versions (2.7, 3.6, 3.7).</li>
<li>Move project home to <code>python-cffi/cffi</code> on GitHub.</li>
<li>Add support for PEP517 builds; <code>setuptools</code> is now a
required build dependency.</li>
<li>Declare <code>python_requires</code> metadata for Python 3.8+. This
allows unsupported Pythons
to continue using previously released sdists and wheels.</li>
<li>Add missing calls to <code>PyObject_GC_UnTrack</code> to <a
href="https://foss.heptapod.net/pypy/cffi/-/issues/553">avoid
ResourceWarning</a> 15c4b71d5e3f2295c0e4773e99b23ac751e02534</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python-cffi/cffi/commit/ba44abd69cf6f0f1cc90db34cd067275dc10fc71"><code>ba44abd</code></a>
release 1.16.0 (<a
href="https://redirect.github.com/python-cffi/cffi/issues/17">#17</a>)</li>
<li><a
href="https://github.com/python-cffi/cffi/commit/c0ad8d945167e2538a21e91319873d861fcabd33"><code>c0ad8d9</code></a>
Add a tool to update release version numbers (<a
href="https://redirect.github.com/python-cffi/cffi/issues/15">#15</a>)</li>
<li><a
href="https://github.com/python-cffi/cffi/commit/e20c65d938842f82ce63983150b286956081cb27"><code>e20c65d</code></a>
Release 1.16.0rc2 (<a
href="https://redirect.github.com/python-cffi/cffi/issues/13">#13</a>)</li>
<li><a
href="https://github.com/python-cffi/cffi/commit/e98d1bb5893f849cc66faed4247c4019a87192b8"><code>e98d1bb</code></a>
upgrade setup-qemu-action (<a
href="https://redirect.github.com/python-cffi/cffi/issues/8">#8</a>) (<a
href="https://redirect.github.com/python-cffi/cffi/issues/9">#9</a>)</li>
<li><a
href="https://github.com/python-cffi/cffi/commit/158bc5bf41e49e395ee2da923e41bd721c9bc3ea"><code>158bc5b</code></a>
add a summary job <code>check</code> for easier automated gating (<a
href="https://redirect.github.com/python-cffi/cffi/issues/6">#6</a>) (<a
href="https://redirect.github.com/python-cffi/cffi/issues/7">#7</a>)</li>
<li><a
href="https://github.com/python-cffi/cffi/commit/c062f2cf7b9cdb62270cc9b9267fbd6f9c133939"><code>c062f2c</code></a>
enable weekly 1pm Monday scheduled CI run on release-1.16 (<a
href="https://redirect.github.com/python-cffi/cffi/issues/5">#5</a>)</li>
<li><a
href="https://github.com/python-cffi/cffi/commit/e84703322be5f62692389741703900991f2503ef"><code>e847033</code></a>
make self-hosted aarch64 mac jobs conditional-ish</li>
<li><a
href="https://github.com/python-cffi/cffi/commit/57ff08e2b693858077740ef1b1a0278dc6ed6de1"><code>57ff08e</code></a>
remove obsolete test</li>
<li><a
href="https://github.com/python-cffi/cffi/commit/ff11e9259014debd4ba4beddee511dc3c79b36fb"><code>ff11e92</code></a>
release 1.16.0rc1</li>
<li><a
href="https://github.com/python-cffi/cffi/commit/0dc78051c823080ef38718322777af4ff3499453"><code>0dc7805</code></a>
prepare for 1.16.0rc1</li>
<li>Additional commits viewable in <a
href="https://github.com/python-cffi/cffi/compare/v1.15.1...v1.16.0">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cffi&package-manager=pip&previous-version=1.15.1&new-version=1.16.0)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps [greenlet](https://github.com/python-greenlet/greenlet) from 3.0.1
to 3.0.3.
<details>
<summary>Changelog</summary>
<p><em>Sourced from <a
href="https://github.com/python-greenlet/greenlet/blob/master/CHANGES.rst">greenlet's
changelog</a>.</em></p>
<blockquote>
<h1>3.0.3 (2023-12-21)</h1>
<ul>
<li>Python 3.12: Restore the full ability to walk the stack of a
suspended
greenlet; previously only the innermost frame was exposed. See
<code>issue 388
&lt;https://github.com/python-greenlet/greenlet/issues/388&gt;</code><em>.
Fix by
Joshua Oreman in <code>PR 393
&lt;https://github.com/python-greenlet/greenlet/pull/393/&gt;</code></em>.</li>
</ul>
<h1>3.0.2 (2023-12-08)</h1>
<ul>
<li>Packaging: Add a minimal <code>pyproject.toml</code> to sdists.</li>
<li>Packaging: Various updates to macOS wheels.</li>
<li>Fix a test case on Arm32. Note that this is not a supported platform
(there is no CI for it) and support is best effort; there may be
other issues lurking. See <code>issue 385
&lt;https://github.com/python-greenlet/greenlet/issues/385&gt;</code>_</li>
</ul>
</blockquote>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a
href="https://github.com/python-greenlet/greenlet/commit/ea4bc2776c75429a577e539389fee40ad9e46707"><code>ea4bc27</code></a>
Preparing release 3.0.3</li>
<li><a
href="https://github.com/python-greenlet/greenlet/commit/7694880b128bfa54ea0ece59974695a06af09931"><code>7694880</code></a>
Make doctests work on 3.7 again, which doesn't have importlib.</li>
<li><a
href="https://github.com/python-greenlet/greenlet/commit/073b1e1cf4ec25a8b90a534176bf79336d87689e"><code>073b1e1</code></a>
Linting. Add linting to CI.</li>
<li><a
href="https://github.com/python-greenlet/greenlet/commit/9e73b59eadb68017c25e8fabf0b9dba2eef6f150"><code>9e73b59</code></a>
Docs: Update from the old default theme to furo.</li>
<li><a
href="https://github.com/python-greenlet/greenlet/commit/5f4b4bbc098330b87211405ef50e276325c15a53"><code>5f4b4bb</code></a>
Py3.12: Always expose greenlet frames on a switch.</li>
<li><a
href="https://github.com/python-greenlet/greenlet/commit/13148f9f975924da18bef14054a558160e13369c"><code>13148f9</code></a>
Update comment that was still referring to a different, less-robust
approach ...</li>
<li><a
href="https://github.com/python-greenlet/greenlet/commit/b5f9d232c401d8fba8710778ad85b29a41ec3924"><code>b5f9d23</code></a>
Restore stack introspection ability on 3.12</li>
<li><a
href="https://github.com/python-greenlet/greenlet/commit/edbdda27ab1983ac157b588dd0c04816cb31b0ea"><code>edbdda2</code></a>
Back to development: 3.0.3</li>
<li><a
href="https://github.com/python-greenlet/greenlet/commit/719ea473c61e9934cb75ebd04a52dda32a030863"><code>719ea47</code></a>
Preparing release 3.0.2</li>
<li><a
href="https://github.com/python-greenlet/greenlet/commit/2c0793c1b35e785d4353d4c6ce17cde2137da1c4"><code>2c0793c</code></a>
Add change note about macOS wheels.</li>
<li>Additional commits viewable in <a
href="https://github.com/python-greenlet/greenlet/compare/3.0.1...3.0.3">compare
view</a></li>
</ul>
</details>
<br />


[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=greenlet&package-manager=pip&previous-version=3.0.1&new-version=3.0.3)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after
your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge
and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating
it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
repeat of
#172 (comment)

with changed branch name, also fixed issues with code style within
v2/unavailability/api.py

https://fireapp-emergiq-2024.atlassian.net/browse/FE-68
Setting up a testing environment for the project using pytest. Creating
testing folders for functional and unit testing. Needed to be further
refined to have development, testing, and production configuration.
Currently, testing will create and get directly from the database which
is not a good practice. Creating some test cases for creating
unavailability endpoint with testing criteria:
- two consecutive create operations must output two consecutive event_id
- Cannot create two unavailability with the same time interval
- Cannot create availability for nonexistent user_id
- Cannot create unavailability with an end time earlier than the start
time
- Cannot create unavailability with weird periodicity (to be discussed)
- There cannot be two unavailability from the same user with overlapped
time interval
- Merge interval (if implemented on API)

Some significant changes:
- Creating a tests folder that will contain all future functional and
unit tests for the project
- Refactoring application.py class to make use of factory method design
pattern so that many instances of the application can be created, for
now, it can be used in testing
<img width="467" alt="image"
src="https://github.com/TechlauncherFireApp/backend/assets/97883232/f9ee0b5a-ad7a-469c-8d4e-fbea15e3f0f9">

https://fireapp-emergiq-2024.atlassian.net/jira/software/projects/FE/boards/1?selectedIssue=FE-68
Copy link
Collaborator

@emilymclean emilymclean left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are pushes from main showing up in your diff? Please merge main normally and I will review your work

@fishchimp
Copy link
Contributor Author

Why are pushes from main showing up in your diff? Please merge main normally and I will review your work

Hi Ben, apologies, I have a habit of pulling from the main branch to merge incoming changes. I'll make sure to only do merges without pulling from now on. I can't merge from main anymore as the branch is already up to date

@emilymclean
Copy link
Collaborator

I understand, but I can't merge or review your branch in its current state as GitHub is reporting conflicts and the pipelines aren't running. Besides, it is difficult for me to assess your changes when everyone else's are mixed in as I'm not sure what exactly you did. Please roll back to before you pulled main and do a merge commit from main.

@fishchimp
Copy link
Contributor Author

fishchimp commented Mar 15, 2024

I understand, but I can't merge or review your branch in its current state as GitHub is reporting conflicts and the pipelines aren't running. Besides, it is difficult for me to assess your changes when everyone else's are mixed in as I'm not sure what exactly you did. Please roll back to before you pulled main and do a merge commit from main.

Should I close this PR and create a new branch? I think that would make it a lot easier

@emilymclean
Copy link
Collaborator

I would prefer if you didn't, but I don't mind

@emilymclean
Copy link
Collaborator

@fishchimp Please resolve the issues on this branch. This PR has been open for a week and I will not merge your other work until this one is complete

@fishchimp fishchimp force-pushed the fishchimp/features/fetch-unavailability-testing branch from d0d022c to 460c8ce Compare March 19, 2024 01:05
@fishchimp
Copy link
Contributor Author

Hi @BenMMcLean , I'm currently trying to solve the merge conflicts and am still running into some git merging and rebasing issues. In the meantime, the features I've implemented here and on my other branch are the same. I would appreciate it if you could take a look at that one. I'll keep trying to solve this merge conflict issue and meet up with John.

@fishchimp
Copy link
Contributor Author

Hi @BenMMcLean,

This Git issue is getting too complicated and taking too much time. Would you agree that we close this PR? My other PR has the same changes without all other people's commits junked in.

@emilymclean
Copy link
Collaborator

emilymclean commented Mar 20, 2024

Yep that's fine, I'll review your other PR now

@fishchimp fishchimp closed this Mar 20, 2024
@fishchimp fishchimp deleted the fishchimp/features/fetch-unavailability-testing branch April 28, 2024 06:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants