Comments (4)
I'm currently working on a higher level object approach to the PS2 API (like your old auraxiumm.object_models.ps2
), so I'd like to add tests on these new classes.
I usually go with tox
, and pair it with Travis-CI and codecov to run my tests weekly, but it's optional.
Are you fine with tox
or do you prefer an alternative? Do you want me to set up a Travis configuration?
from auraxium.
I'm not the owner, but I am personally a fan of unittests for the base level test running, as it's very legible for people new to the codebase
from auraxium.
I'm currently working on a higher level object approach to the PS2 API (like your old auraxiumm.object_models.ps2), so I'd like to add tests on these new classes.
@qcoumes That's great to hear - I have been meaning to expand the object model API, ideally adding a lot more async and caching.
I'm not the owner, but I am personally a fan of unittests for the base level test running, as it's very legible for people new to the codebase
But I am - how serendipitous!
Thank both of you for the input. I have been meaning to add unittests myself, but I never got around to it.
As you probably noticed, I have not been looking after this repo for a while - I shall change that now that there is interest.
I will give the repo a quick once-over during the weekend, probably going to add unit tests for the core functionality next week.
from auraxium.
A few closing remarks on this issue since a lot of it has been touched by recent commits:
Detecting breaking API changes
The object representations for PS2 data types are hard-coded to expect the fields currently available. This will raise a BadPayloadError
to show that the object model is no longer compatible with the API. There is currently no warning system in place to warn us of new fields being added to a collection as this would often provide false positives for queries containing joins.
Automated tests
I added some unittest
test cases for auraxium.census
and auraxium.cache
, the only modules I consider somewhat finished at this stage. They are also automatically run for any commits through GitHub actions.
I will be adding more tests as I gain confidence in the individual submodules, especially a script to validate the field lists for all of PS2's API collections would be extremely useful.
API outages
The API currently provides helpful errors when the API reports as undergoing maintenance or being unavailable, but a lot of maintenance states involve redirects to *.sony.com
URLs, which result in a lower-level HTTP error due to these pages no longer existing.
This is an open problem that will be tracked in a new issue (#14).
from auraxium.
Related Issues (20)
- Fix unit test workflow for forks HOT 1
- weapon datasheet 'max' and 'min' damage are meaningless due to API quirks HOT 2
- Reconsider object model getter helpers
- Note GainExperience quirks in documentation HOT 1
- Faction image_path missing HOT 1
- outfit.leader() -> Character or OutfitMember HOT 2
- ('experience_bonus',), 'msg': 'value is not a valid integer', 'type': 'type_error.integer'}])> HOT 2
- Improve error message when pydantic validation fails
- RTD broken link HOT 1
- Allow unsecured connections for expired API certs HOT 3
- WebSocket version migration HOT 1
- Support third-party fallback endpoints HOT 1
- Uncaught exception on await Character.items(): KeyError HOT 5
- README example is raising RuntimeError HOT 2
- Client.get_by_name not using name.first_lower HOT 3
- Ignoring Unsupported Payload (Continent Lock) HOT 1
- Move payload validation to OpenAPI spec
- ClientResponseError: 400, message='Bad Request' when querying census API HOT 4
- events.ContinentUnlock no longer exists HOT 1
- Unable to add World to Trigger filter HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from auraxium.