{"id":15988743,"url":"https://github.com/croydon/pt-recap","last_synced_at":"2025-11-11T02:30:15.540Z","repository":{"id":74744710,"uuid":"164567931","full_name":"Croydon/pt-recap","owner":"Croydon","description":"University project for the module Professional Testing. An example how a testing environment can look like in Python","archived":false,"fork":false,"pushed_at":"2021-09-30T02:29:00.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-28T11:44:09.225Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Croydon.png","metadata":{"files":{"readme":"Readme.md","changelog":null,"contributing":null,"funding":null,"license":"License.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-08T05:20:40.000Z","updated_at":"2021-09-30T02:29:05.000Z","dependencies_parsed_at":"2023-07-11T16:34:18.381Z","dependency_job_id":null,"html_url":"https://github.com/Croydon/pt-recap","commit_stats":{"total_commits":37,"total_committers":1,"mean_commits":37.0,"dds":0.0,"last_synced_commit":"d2b3ec73166781716209d9b192f4fbe3b177bd83"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Croydon%2Fpt-recap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Croydon%2Fpt-recap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Croydon%2Fpt-recap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Croydon%2Fpt-recap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Croydon","download_url":"https://codeload.github.com/Croydon/pt-recap/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239587279,"owners_count":19663892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-08T04:21:08.681Z","updated_at":"2025-11-11T02:30:15.492Z","avatar_url":"https://github.com/Croydon.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![pipeline status](https://code.fbi.h-da.de/istmikeck/pt-recap/badges/master/pipeline.svg)](https://code.fbi.h-da.de/istmikeck/pt-recap/commits/master) [![coverage report](https://code.fbi.h-da.de/istmikeck/pt-recap/badges/master/coverage.svg)](https://code.fbi.h-da.de/istmikeck/pt-recap/commits/master)\n\n# recap \n\n\u003e **RE**quester + **CA**lculation + tem**P**later\n\n\u003e *recap* (v.) — “To summarize or repeat in concise form.”\n\nrecap is an university project for the course Professional Testing. \nIt is an example how testing environments can look like within the Python ecosystem. \nrecap is doing a basic https request to get some raw statistics data, doing some basic calculations with it\nand is eventually creating some human-friendly statistics based on a template.\n\n\n## Requirements \nrecap got tested on Python 3.7. Although it might work with Python 3.6 or older versions this is not guaranteed.\nPlease use Python 3.7 or newer to run recap.\n\n\n## Installation\nTo install recap and it's dependencies execute:\n\n`pip install --user -U .`\n\nIf you want to run the tests you will additionally need the dev requirements, which you can install via:\n\n`pip install --user -U .[test]`\n\nPlease also make sure that the location for your installed Python modules is your your environment PATH,\notherwise you can't run them easily.\n\n\n## Run tests locally\nYou can run all unit tests and coverage analysis by executing:\n\n`pytest tests --cov recap`\n\nThere are currently warnings about implementation details of the dependency `Cheetah` which can be safely ignored.\n\n\n## About the development of recap\nRecap is using the principle of [Test-driven development (TDD)](https://en.wikipedia.org/wiki/Test-driven_development).\nWhich means that first of all, the requirements got specified and tests were written. \nOnly after this step is finished the functionality got implemented until all tests succeed\nand the requirements were meet. \n\nAlso to execute the tests automatically and continuously a CI setup was used from the beginning.\nThis ensures that\n  * recap can be successfully build in a clear, sterile environment\n  * no tests are getting broken unknowingly\n    * people can be lazy and they might not execute the tests locally at all times 😄\n    * CI is notify developers if something broke\n  * the code coverage is known and visible at all times, which can be a motivational factor to actual increase it\n    * fully in the spirit of [Gamification](https://en.wikipedia.org/wiki/Gamification)\n\nFurthermore, recap is using Continuous Deployment (CD) to publish new releases to https://test.pypi.org/project/recap/\n\n\n## Run the application \nAfter you successfully installed the application, you can run it by executing\n\n`recap` \n\nrecap will then create a file called `output/statistics.html` in your current working directory.\nYou can open it in any web browser to see the generated statistics.\n\n\n## Structure of the application\nrecap has three main parts: `requester`, `calculation` and  `templater`.\n`requester` is getting raw JSON data from [Mozilla Addons](https://addons.mozilla.org) \nfor my add-on [Vertical Tabs Reloaded](https://github.com/Croydon/vertical-tabs-reloaded) for a specific time span and transforming the data in a form Python can actually work with.\n`calculation` uses this data to calculate some basic statistics and provides the results to `templater`,\nwhich generates a HTML file with the final results.\n\nThe implementation of the functions can be found in `recap/` while the tests can be found in `tests/`.\n\n\n## Summary\nTo recap the testing environment of recap, the following processes and tools were used: \n  * test-driven development\n  * unit tests via pytest \n  * coverage analysis via pytest_cov\n  * continuous integration via Gitlab CI\n  * continuous deployment via GitLab CI to https://test.pypi.org/project/recap/ \n\n\n## License \nrecap is licensed under the terms of the [MIT license](License.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcroydon%2Fpt-recap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcroydon%2Fpt-recap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcroydon%2Fpt-recap/lists"}