Commit Graph

818 Commits

Author SHA1 Message Date
Russell Cohen fe6a56fc1d
Deserialize responses (#81)
* Deserialize responses

* Fix http version

* Fix test failures after merge
2020-12-11 20:44:50 -05:00
Russell Cohen a3d5f10e60
Add support for serializing document types (#75)
* Add support for serializing document types

* Delete unused conversion function

* Add test for NaN behavior

* Fix test flakiness
2020-12-11 17:21:45 -05:00
Russell Cohen 48b4ef6a32
Generated Combined Error Shapes (#71)
* Add combined error generator

* Deterministic operation generation

* Test generator refactoring

* Fix test failure in inlineable

* Back out needless changes to Rust.kt and merge error types

* Add some docs
2020-12-07 16:56:30 -05:00
Russell Cohen efdca4484c
Add uuidv4 implementation & rust-runtime as JAR (#55)
* Add uuidv4 implementation & rust-runtime as JAR

* Add inlineable crate

* Flesh out dependency test
2020-11-25 18:49:38 -05:00
Russell Cohen 9609cc3a58
Support the remaining fields on request protocol tests (#50)
* Support the remaining fields on request protocol tests

Add support for remaining requirements and & make some small changes to support them.

* Satisfy rustfmt
2020-11-23 14:32:15 -05:00
Russell Cohen 2f2a9517d0
Support Serialization via Serde Annotations (#40)
* Refactor SymbolMetadataProvider into an abstract class

* Refactor meta to expectMeta

* Refactor SymbolMetadataProvider into an abstract class

* Refactor meta to expectMeta

* Add support for inline dependencies

* Implement Json Serializers!

* CR fixes
2020-11-20 15:41:45 -05:00
Russell Cohen 16e513bd5d
Pin Rust version & fix lint error (#41)
Every 6 weeks, a new version of Rust and Clippy comes out—we were upgrading implicitly which meant that our clippy (lint) checks started failing if they added new lints. This makes the Rust version explicit so we can upgrade and fix lints on our schedule.
2020-11-19 13:58:38 -05:00
Russell Cohen 555021e36b
Expand protocol tests for RestJson1.1 and AwsRestJson (#38)
* Add document types & other bug fixes to support AwsJson11

* Expand protocol tests for RestJson1.1 and AwsRestJson

This diff adds RestJson1 and AwsJson1.1 to the integration test suite. It uncovered a number of bugs, some of which I fixed inline and some I filed issues for and disabled the tests.

* Add another disabled test & cleaup

* Fix tests broken by changing URL encoding to encode ':'

* Copy-paste Aarons comment

* Fixup Rustfmt
2020-11-18 15:13:12 -05:00
Russell Cohen 31cfbf573c
Fix blob instantiation code for protocol tests (#24)
* Fix blob instantiation code for protocol tests

* Update Instantiator.kt

clarify comment
2020-11-13 21:01:15 -05:00
Russell Cohen c7d4c0316e
Add Body Validation Support to Protocol Test Helpers (#21)
* Use thiserror to make prettier errors

* Add body validation support

* Fixes for clippy
2020-11-12 13:55:48 -05:00
Russell Cohen 9707c0347a
Increase scope of Protocol test generation (#18)
* Setup pre-commit

* Run precommit hook across all files

* Increase scope of Protocol test generaton

Added support for the following fields in protocol tests:
- forbidQueryParams
- requireQueryParams
- headers
2020-11-04 22:20:50 -05:00
Russell Cohen 86dc5db504
Add pre-commit hooks (#17)
* Setup pre-commit

* Run precommit hook across all files

* Update README.md
2020-11-04 22:09:00 -05:00
Russell Cohen 1d30ad06ca
Add initial protocol test generation (#16)
* Implement Instantiator

* Add support for dev-dependencies

* Pass the protocol in Protocol config

* Add initial protocol test generator

This commit adds an initial and very limited implementation of protocol test generation. Specifically,
it only asserts that the query string contains certain required parameters. We will update protocol test generation in concert with updates to the code generation features.

* Fixes from integration tests

* Add test of recursive maps, fix implementation of empty maps

* Add protocol test generator, pre-commit hooks

* Fix test

* Fix formatting
2020-11-04 11:17:19 -05:00
Russell Cohen 9983057a4b
Add inital CI workflow (#12)
* Add inital CI workflow

* Run unit tests

* Run integration tests & ktlint

* Split job, set REPO_ROOT

* Update to satisfy new cargo clippy

* Upload an artifact

* Run runtime tests in CI

* Add missing test.sh

* Make script path indepdendent

* Run clippy on Rust runtime

* move artifact upload to the correct job

* Don't upload target

* Fix Rust code formatting

* Fix kotlin codestyle

* Fix merge issue
2020-11-02 15:30:04 -05:00
Russell Cohen 4557f6a6bb
Add protocol test helpers (#11)
* Add protocol test helpers

* expand tests
2020-11-02 14:03:21 -05:00
Russell Cohen 972d833c28
Add base64::decode & property testing (#4)
To support protocol tests, this commit adds `decode` to our base64 implementation. The implementation is validated against the base64 crate and stress-tested with proptest for correctness and crash-free-ness.
2020-11-02 12:27:35 -05:00
Russell Cohen ddac680d53
Partial HTTP protocol implementation (#1)
* Add new models to run integration tests against

* Add initial support for HTTP protocols

* Refactor protocol generation arguments

* Add more method comments

* Remove some dead code

* CR feedback
2020-10-29 15:49:22 -04:00
Russell Cohen 4874168a9b Add Rust runtime code 2020-10-28 11:08:23 -04:00