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

ci(fuzz tests): graphql fuzz testing #3760

Draft
wants to merge 72 commits into
base: main
Choose a base branch
from
Draft
Changes from 1 commit
Commits
Show all changes
72 commits
Select commit Hold shift + click to select a range
d65e435
hack(tests): add fuzz testing workflow
iainsproat Dec 30, 2024
e4bbf38
fixes
iainsproat Dec 30, 2024
a026354
Update path of binary
iainsproat Dec 30, 2024
e66d2c2
Update binary path again, and add names to steps
iainsproat Dec 30, 2024
3e18153
More path fixes, too much nesting
iainsproat Dec 30, 2024
c8b96e4
Add debugging output
iainsproat Dec 30, 2024
48b7d2f
it is case-sensitive fml
iainsproat Dec 30, 2024
ea36cd9
Restler documentation is inconsistent on the output dir and there are…
iainsproat Dec 30, 2024
8ea40b3
Now output the file content to allow configuration
iainsproat Dec 30, 2024
968e4e7
Attempt to run speckle-server and test the API
iainsproat Dec 30, 2024
45674f0
fix minio service
iainsproat Dec 30, 2024
bc4ca17
Fix paths for yarn
iainsproat Dec 30, 2024
95fbf4a
set cache dependency path
iainsproat Dec 30, 2024
b2ebd47
Add a yarn start to server package.json
iainsproat Dec 30, 2024
8686c00
Caching
iainsproat Dec 30, 2024
3d20d7a
configure env vars for fuzz test
iainsproat Dec 30, 2024
a030b22
Printing results
iainsproat Dec 30, 2024
272b9fa
caching was too agressive
iainsproat Dec 30, 2024
d0c0c60
overwrite minio entrypoint
iainsproat Dec 30, 2024
e19abdd
More bug fixing
iainsproat Dec 30, 2024
2460fb9
remove network alias
iainsproat Dec 30, 2024
6cba30d
Bump OpenAPI specification version and add servers property
iainsproat Dec 30, 2024
198a8cc
Override host when testing
iainsproat Dec 30, 2024
b76f20e
Swap to docker compose
iainsproat Dec 30, 2024
e68da6a
fix postgres creds
iainsproat Dec 30, 2024
c8002de
Wait for server to start running, and always print restler output
iainsproat Dec 30, 2024
fe446d5
Wait until server is responding
iainsproat Dec 30, 2024
ca46336
Do not fail on decoding of responses being unexpected unicode
iainsproat Dec 30, 2024
f09ce25
Two step creation of grammar
iainsproat Dec 31, 2024
62abdcb
Fix restler config
iainsproat Dec 31, 2024
7691195
Add more detail to OpenAPI specification
iainsproat Dec 31, 2024
1b7cd28
Update openapi specification and skip unimplemented endpoint
iainsproat Dec 31, 2024
ebbf332
Restler should be authenticated; seed the database with data
iainsproat Dec 31, 2024
0d3ac1c
sudo is required
iainsproat Dec 31, 2024
dbf2c07
Token file should match Restler format
iainsproat Dec 31, 2024
d0c8287
Fix seeding of database
iainsproat Dec 31, 2024
beb60ef
Run from docker image, not source
iainsproat Dec 31, 2024
5aab551
remove obsolete step
iainsproat Dec 31, 2024
0d5a1c5
fix migrations in pg dump backup
iainsproat Dec 31, 2024
ea22d5b
wait until server is ready
iainsproat Dec 31, 2024
b13b547
Fix token
iainsproat Dec 31, 2024
3d5a049
Update OpenAPI specification
iainsproat Jan 1, 2025
fb2a22d
Fix indentation of openapi spec
iainsproat Jan 1, 2025
7e2e079
Upload test results as an artifact
iainsproat Jan 2, 2025
2cda8d8
Attempt to improve test coverage
iainsproat Jan 2, 2025
c00c3bb
Print compile logs
iainsproat Jan 2, 2025
5791e5a
Cache the restler binary and do not attempt to save cache if cache hit
iainsproat Jan 2, 2025
1f6bb11
Attempt to fix dictionary
iainsproat Jan 2, 2025
6ff569b
Update OpenAPI specification
iainsproat Jan 2, 2025
5f86467
provide proper path to compiler
iainsproat Jan 2, 2025
080a478
Bust cache to retry building
iainsproat Jan 2, 2025
a3e17b8
feat(server): allow ratelimiting to be explicitly disabled
iainsproat Jan 2, 2025
d2d6210
Disable rate limiter in CI
iainsproat Jan 2, 2025
96bc9fc
Merge branch 'main' into iain/web-511-fuzz-test-speckle-server-rest-api
iainsproat Jan 2, 2025
a5f15ed
Merge branch 'iain/ratelimiter-can-be-explicitly-disabled' into iain/…
iainsproat Jan 2, 2025
c188fa9
Explicitly disable ratelimiter
iainsproat Jan 2, 2025
fef3198
More fixes to openapi specification
iainsproat Jan 2, 2025
ed09a8c
Remove caching
iainsproat Jan 2, 2025
49884b5
fix(server/blobstorage): handles errors with missing content-type header
iainsproat Jan 2, 2025
b56ba47
More openapi specification improvements
iainsproat Jan 2, 2025
29ee4f4
Provide default app Ids
iainsproat Jan 2, 2025
39efe09
Enhance OpenAPI specification
iainsproat Jan 3, 2025
f30b04e
ci(fuzz tests): graphql fuzz testing
iainsproat Jan 3, 2025
f1121a2
Merge branch 'main' into iain/web-512-fuzz-test-speckle-server-graphq…
iainsproat Jan 3, 2025
b9352c9
Tag is capitalized, just to be different from convention :fml:
iainsproat Jan 3, 2025
39b35b6
Poetry needs to be explicitly installed
iainsproat Jan 3, 2025
5c88e11
Use supported python version
iainsproat Jan 3, 2025
e814908
copy pasta error; poetry shell makes no sense in CI
iainsproat Jan 3, 2025
abb2a69
run graphqler using local path not global module
iainsproat Jan 3, 2025
77476b7
need to run python inside the poetry environment, such n00b
iainsproat Jan 3, 2025
d169bc3
Add graphqler configuration file
iainsproat Jan 3, 2025
c9eb9cf
Compile and fuzz in a single step
iainsproat Jan 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Update path of binary
  • Loading branch information
iainsproat committed Dec 30, 2024
commit a026354e4c31d5966911d91cf56862eecfa73648
2 changes: 1 addition & 1 deletion .github/workflows/rest-api-fuzzer.yml
Original file line number Diff line number Diff line change
@@ -92,7 +92,7 @@ jobs:
- name: Compile from OpenAPI
# run: docker run --volume ${{ github.workspace }}/restlerConfig:/RESTler/restler/restlerConfig ${{ needs.build-restler-fuzzer.outputs.tags }} compile --api_spec utils/specifications/speckle-server.openapi.json
run: |
${{ github.workspace }}/bin/restler compile --api_spec ${{ github.workspace }}/speckle-server/utils/specifications/speckle-server.openapi.json
${{ github.workspace }}/bin/restler/compiler compile --api_spec ${{ github.workspace }}/speckle-server/utils/specifications/speckle-server.openapi.json
- name: Print the results
run: ls -lat ${{ github.workspace }}/restlerConfig

Loading