-
Notifications
You must be signed in to change notification settings - Fork 7
# Setting up testing actions, generate unit tests for the projects, correct clippy warnings and format according rustfmt #21
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
Merged
TheRustifyer
merged 34 commits into
zerodaycode:main
from
TheRustifyer:testing/GH-15-testing-generate-the-unit-tests-necessary-to-augment-the-reliability-of-the-project
Nov 10, 2022
Merged
# Setting up testing actions, generate unit tests for the projects, correct clippy warnings and format according rustfmt #21
TheRustifyer
merged 34 commits into
zerodaycode:main
from
TheRustifyer:testing/GH-15-testing-generate-the-unit-tests-necessary-to-augment-the-reliability-of-the-project
Nov 10, 2022
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
d3af8c4 to
ff99508
Compare
… with rustfmt. OS independent tests only gets triggered on push tags, just for reflecting the status badge for every new release. A new continuous-integration workflow runs now on every push and PR, being the default required statuses to pass before do anything against the main branch
…'s no need to make a dynamic lookage to set its value on the config file. find all methods has very basic tests now
…ary key, with and without specifiying a datasource (using default)
…n Canyon-SQL. Corrected macro paths to canyon_sql::bounds on the macro insert operations generator
…y foreign keys (direct and reverse side)
…CRUD operation available. Corrected more Clippy warnings and formatted code with rustfmt. New shell script with alias for a better workflow on local development, and upgraded the docker-compose file with the new requeriments
…an be identified with literal suffixes
e0f661c to
a7f7749
Compare
f991f27 to
4f05ccc
Compare
… docker-compose file
…nit and doc tests for the rest of the OS
9dbb5c6 to
97df1b1
Compare
…th the Code Coverage flow
bc4e826 to
11f456f
Compare
gbm25
approved these changes
Nov 10, 2022
TheRustifyer
added a commit
that referenced
this pull request
Dec 25, 2022
* Setted up action for autopublish tests results. Due to the incompatibility of upload-tests-results-actions with the XML output, will stay deactivated until a solution is found * # Setting up testing actions, generate unit tests for the projects, correct clippy warnings and format according rustfmt (#21) * #feature - setting up worflows for multiple different OS and Rust versions * #feature - code-quality workflow for lint with Clippy, and formatting with rustfmt. OS independent tests only gets triggered on push tags, just for reflecting the status badge for every new release. A new continuous-integration workflow runs now on every push and PR, being the default required statuses to pass before do anything against the main branch * #feature Added cache for multiple jobs on the new workflows * #Fix - Solved clippy warnings on the project * #feature - formatted project with rustmt * #feature - psql docker now has config for have an static ip * #feature - Integration Tests for the base CRUD operations available in Canyon-SQL. * #fix - Corrected macro paths to canyon_sql::bounds on the macro insert operations generator * #feature - Curated the reexports for redesing the public API of the library from the crate * Removed the complete reexport of . Now it's reexported only the necessary elements * #features - cleaned and upgraded the reexports of the public API. Procedures created to create tables on the SQL server client * Trying to transmute instances of DatabaseConnection from &self obtained from the map of cached connections to &mut self * Why tests passes?! * Playing with the behaviour of 'block_on()' in different contexts of the framework * Implemented the connection cache manager for every datasource * Using the datasource variants to check against the MSSQL * #feature - Reworked the canyon macro -> main, that now runs the custom created tokio runtime. Test macro also works with the custom runtime. The cache connections initializer now its runned inside the macros and it's allowed to be async * #refactor - canyon_manager crate removed from the project. The manager module are now in canyon_observer, reducing project structure complexity * [NON WORKING] - Preview of the first changes of the migrations API * [WIP] - Mapped unordered metadata rows into one comprehensive struct * [WIP] - Removing intermediate data structures to parse the metadata information * Debug logs for the row retriever * Correction over the concrete column entity generation * Finished the refactor of the information schema parser * Minor corrections on the memory process * CanyonMemoryRows holds references in its process * Canyon memory now works with both PostgreSQL and MSSQL without issues * First refactorings of the rename tables entity name operations * #fix - Renamed tables now are included as candidates for migrations * Removed properties from TableMetadata that aren't relevant for the migrations process nowadays. Initialized a new tests module for the MigrationsHelper * Debugging points for the base first operation, create or rename tables * ALTER TABLE SqlServer version for migrations * Reworking the constant values on the translations from Rust types to database column types * WIP - Pursuing a .value() on a Option<String> * #fix - Foreignkeyable refactor. The foreign key reverse lookage now receive the query parameters as &dyn QueryParameters and the query is full parametrized * WIP - Entering on madness zone 'cause of SQL SERVER way of deleting a column * Non hardcoded values for column names on delete defaul constraint * Correction on the MS SQL rename table migration query. Cleaned up runtime query log of migrations query. Annotated as dead_code new written code not used yet * Solved an issue with past changes that was a function arg that was specting &str and we change the arg type to std::String * The QueryBuilder now has it's parameters non hardcoded as strings, are parametrized from &dyn QueryParameters * <TypeName>Field::field_name FieldName autogenerated enum now it's able to work without manually implement the Display trait * Small corrections * WIP - Base implementation of the hierarchy of the diff QueryBuilder implementation types * WIP - Megarefactor of the QueryBuilder. SelectQueryBuilder has now join operations. Removed fields from the QueryBuilder, so the sql generated by the builder method calls are directly stored in the underlying string of the Query member of the QueryBuilder. Trait bounds for the comparison operators, allowing impl Operator in method arguments * More refactor to the QB * Standarized the SelectQueryBuilder * Query impl on the BaseQueryBuilder type is removed from the interface. Natural impl blocks contain now a wrapper to call the query() method on the inner QueryBuilder and query the database targeted by the specified datasource * Update and delete operations created with the QueryBuilder got it's concrete types for themselves, with it's unique kind of operations * Accessors (as read only member methods) and mutators (for wire user desired arbitrary data into the sql) for every concrete implementation of the querybuilder * and_in BaseQueryBuilder method gets completed and added to the trait. BaseQueryBuilder trait get it's members documented * BaseQueryBuilder type it's renamed to QueryBuilder, matching the QueryBuilder struct type, but encapsulated in the ops:: module * First unit tests for the SQL generated by the builder method calls * WIP Partial refactoring of migrations (add constraints). Co-authored-by: Gonzalo Busto Musi <[email protected]> * WIP Partial refactoring of migrations (logic completed but not tested). Co-authored-by: Gonzalo Busto Musi <[email protected]> * Added provisional conditionals on queries Co-authored-by: Gonzalo Busto Musi <[email protected]> * NOT WORKING - Added logs. Fix query execution. Co-authored-by: Gonzalo Busto Musi <[email protected]> * Fixed level of conditionals for Foreign Key comparison operations * You're just not a Foreign Key honey, sorry about that * Added the case to the migrations when the user desires to add or remove IDENTITY * Migrations are now executed for every datasource designed. Pending to discard entities, or full migrations by specifying it in annotations * Preparing the migrations for being executed by multiple datasources * Migrations caché works now with a lazy_static HashMap that organizes the changes per datasource configured. There's no more String parsing-converison-rewiring, now it's works directly from a TokenStream * Added more database datatypes supported on the migrations. Corrected a bug that was leading to not trigger the database column type * WIP - The QueryBuilder tests are back. Everything works as spected but the SQLSERVER update clause. Pending to review it * UpdateQueryBuilder<T> got finally it's owned .set(...) method to generate SET clauses. Also now is values are parametrized. Tests are reordered and fully reenabled * Preparing the very first initial release, at version 0.0.1, which will be considered the testing crates.io version * Every inner package specifies a version * Added more terminal commands to the bash_aliases * Relaxed restrictions on the type values of the second element of the tuple that are inside the array of the param columns of the set clause,there's no need to pass references * Relaxed the mandatory until now Debug + Clone bounds on the Crud Operations proc macro. Now they're free of that restriction * Included the repo metadata documents * Code formatted with rustfmt * Clippy tolds us that we could do it better, or, at least, rustier * More format. Inserting data into MSSQL docker for the integration tests. Setting up the release action * Upgraded docker-compose * Solving Clippy warnings at the tests module * Reenabling docker-compose on targets different from Linux * Disabling integration tests for MacOS due to not docker-compose support * IT only for Unix based systems Co-authored-by: Gonzalo Busto Musi <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR aims to:
ClippywarningsrustfmtWhen completed, this PR closes #22, closes #15 and closes #16