Skip to content

Tests: unit and integration (coverage > 80%)#72

Open
IvanKuchin wants to merge 2 commits into
denislituev:masterfrom
IvanKuchin:tests/unit-tests
Open

Tests: unit and integration (coverage > 80%)#72
IvanKuchin wants to merge 2 commits into
denislituev:masterfrom
IvanKuchin:tests/unit-tests

Conversation

@IvanKuchin

@IvanKuchin IvanKuchin commented Jul 3, 2026

Copy link
Copy Markdown

PS C:\docs\src\rust\openapi-model-generator> cargo llvm-cov
info: cargo-llvm-cov currently setting cfg(coverage); you can opt-out it by passing --no-cfg-coverage
Compiling openapi-model-generator v0.6.2 (C:\docs\src\rust\openapi-model-generator)
Finished test profile [unoptimized + debuginfo] target(s) in 19.48s
Running unittests src\lib.rs (target\llvm-cov-target\debug\deps\openapi_model_generator-b35021f687b5b826.exe)

running 124 tests
test generator::tests::test_enum_no_display_when_flag_off ... ok
test generator::tests::test_enum_no_display_when_custom_attrs_has_display ... ok
test generator::tests::test_generate_composition_basic ... ok
test generator::tests::test_generate_composition_with_display ... ok
test generator::tests::test_enum_display_escapes_quotes_and_backslashes ... ok
test generator::tests::test_generate_custom_attrs_none ... ok
test generator::tests::test_generate_custom_attrs_some ... ok
test generator::tests::test_generate_description_docs_empty_fallback_produces_empty ... ok
test generator::tests::test_generate_description_docs_uses_fallback ... ok
test generator::tests::test_generate_description_docs_with_description ... ok
test generator::tests::test_generate_description_docs_with_indent ... ok
test generator::tests::test_generate_display_impl_generated_when_no_custom_attrs ... ok
test generator::tests::test_generate_display_impl_skipped_when_display_in_custom_attrs ... ok
test generator::tests::test_generate_model_array_ref_field ... ok
test generator::tests::test_generate_lib ... ok
test generator::tests::test_generate_model_basic_struct ... ok
test generator::tests::test_generate_model_custom_derive_not_doubled ... ok
test generator::tests::test_generate_model_date_field_sets_import_flag ... ok
test generator::tests::test_generate_model_datetime_field_sets_import_flag ... ok
test generator::tests::test_generate_model_flatten_additional_properties ... ok
test generator::tests::test_generate_model_nullable_field_becomes_option ... ok
test generator::tests::test_generate_model_reserved_field_name_gets_raw_prefix ... ok
test generator::tests::test_generate_model_serde_rename_when_name_differs ... ok
test generator::tests::test_generate_model_uuid_field_sets_import_flag ... ok
test generator::tests::test_generate_model_with_display ... ok
test generator::tests::test_generate_models_adds_uuid_import_for_uuid_field ... ok
test generator::tests::test_generate_models_adds_chrono_import_for_datetime_field ... ok
test generator::tests::test_generate_models_adds_validator_import_when_validation_rules_present ... ok
test generator::tests::test_generate_models_models_only_mode_skips_requests_and_responses ... ok
test generator::tests::test_generate_models_requests_mode_includes_only_requests ... ok
test generator::tests::test_generate_models_all_mode_includes_requests_and_responses ... ok
test generator::tests::test_generate_models_always_includes_serde_import ... ok
test generator::tests::test_generate_models_responses_mode_includes_only_responses ... ok
test generator::tests::test_generate_request_model_empty_name_skipped ... ok
test generator::tests::test_generate_request_model_basic ... ok
test generator::tests::test_generate_request_model_unknown_name_skipped ... ok
test generator::tests::test_generate_response_model_basic ... ok
test generator::tests::test_generate_response_model_unknown_name_skipped ... ok
test generator::tests::test_generate_type_alias_basic ... ok
test generator::tests::test_generate_union_anyof ... ok
test generator::tests::test_generate_type_alias_with_description ... ok
test generator::tests::test_generate_union_oneof ... ok
test generator::tests::test_generate_union_with_display ... ok
test generator::tests::test_generate_union_with_primitive_type ... ok
test generator::tests::test_generate_validator_attrs_array_items ... ok
test generator::tests::test_generate_validator_attrs_number_range ... ok
test generator::tests::test_generate_validator_attrs_string_email ... ok
test generator::tests::test_generate_validator_attrs_string_min_max_length ... ok
test generator::tests::test_generate_validator_attrs_unknown_type_returns_empty ... ok
test generator::tests::test_has_custom_derive_false_other_attr ... ok
test generator::tests::test_generate_validator_attrs_string_pattern ... ok
test generator::tests::test_generate_validator_attrs_string_url ... ok
test generator::tests::test_has_custom_derive_true ... ok
test generator::tests::test_has_custom_serde_false ... ok
test generator::tests::test_has_custom_derive_none ... ok
test generator::tests::test_has_custom_serde_true ... ok
test generator::tests::test_is_reserved_word_fn_keyword ... ok
test generator::tests::test_is_reserved_word_not_keyword ... ok
test generator::tests::test_to_snake_case_already_snake ... ok
test generator::tests::test_to_snake_case_camel_case ... ok
test generator::tests::test_to_snake_case_collapses_double_underscore ... ok
test generator::tests::test_to_snake_case_digit_start ... ok
test generator::tests::test_to_snake_case_pascal_case ... ok
test generator::tests::test_to_snake_case_self_reserved ... ok
test generator::tests::test_to_snake_case_special_chars_become_underscore ... ok
test models::tests::test_field_should_flatten_false_for_regular_field ... ok
test models::tests::test_field_should_flatten_true_for_additional_properties ... ok
test models::tests::test_model_type_name_composition ... ok
test models::tests::test_model_type_name_enum ... ok
test models::tests::test_model_type_name_struct ... ok
test models::tests::test_model_type_name_union ... ok
test models::tests::test_model_type_name_type_alias ... ok
test models::tests::test_validation_rules_has_any_default_is_false ... ok
test models::tests::test_validation_rules_has_any_email ... ok
test models::tests::test_validation_rules_has_any_exclusive_minimum ... ok
test models::tests::test_validation_rules_has_any_max_length ... ok
test models::tests::test_validation_rules_has_any_min_items ... ok
test models::tests::test_validation_rules_has_any_min_length ... ok
test models::tests::test_validation_rules_has_any_minimum ... ok
test models::tests::test_validation_rules_has_any_multiple_of ... ok
test models::tests::test_validation_rules_has_any_pattern ... ok
test models::tests::test_validation_rules_has_any_url ... ok
test models::tests::test_validation_rules_has_any_unique_items ... ok
test parser::tests::test_allof_primitive_field_narrowed_to_specific_type ... ok
test parser::tests::test_allof_required_fields_merge ... ok
test parser::tests::test_inline_enum_fields_on_different_structs_get_unique_names ... ok
test parser::tests::test_inline_nullable_field_is_optional ... ok
test parser::tests::test_multiple_properties_with_x_rust_type ... ok
test parser::tests::test_nullable_reference_field ... ok
test parser::tests::test_parse_anyof_schema_produces_union ... ok
test parser::tests::test_parse_empty_object_produces_empty_struct ... ok
test parser::tests::test_parse_array_schema_produces_type_alias ... ok
test parser::tests::test_parse_array_items_with_oneof_produces_union_and_alias ... ok
test parser::tests::test_parse_enum_string_schema ... ok
test parser::tests::test_parse_field_with_validation_rules ... ok
test parser::tests::test_parse_inline_request_body_generates_model ... ok
test parser::tests::test_parse_oneof_schema_produces_union ... ok
test parser::tests::test_parse_ref_request_body_works ... ok
test parser::tests::test_parse_object_with_additional_properties_produces_type_alias ... ok
test parser::tests::test_schema_level_nullable_ref_makes_field_optional ... ok
test parser::tests::test_to_pascal_case_already_pascal ... ok
test parser::tests::test_parse_struct_with_description ... ok
test parser::tests::test_parse_response_schema_from_path ... ok
test parser::tests::test_parse_no_request_body ... ok
test parser::tests::test_to_pascal_case_camel_case ... ok
test parser::tests::test_to_pascal_case_lowercase ... ok
test parser::tests::test_to_pascal_case_mixed_delimiters ... ok
test parser::tests::test_to_pascal_case_empty_string ... ok
test parser::tests::test_to_pascal_case_with_hyphen ... ok
test parser::tests::test_to_pascal_case_with_underscore ... ok
test parser::tests::test_x_rust_attrs_empty_array ... ok
test parser::tests::test_x_rust_attrs_on_enum ... ok
test parser::tests::test_x_rust_attrs_from_ref_target_not_propagated_to_field ... ok
test parser::tests::test_x_rust_attrs_on_field ... ok
test parser::tests::test_x_rust_attrs_on_inline_enum_field_go_to_enum_not_field ... ok
test parser::tests::test_x_rust_attrs_on_struct ... ok
test parser::tests::test_x_rust_type_generates_type_alias ... ok
test parser::tests::test_x_rust_attrs_with_x_rust_type ... ok
test parser::tests::test_x_rust_type_on_integer_property ... ok
test parser::tests::test_x_rust_type_on_nullable_property ... ok
test parser::tests::test_x_rust_type_works_with_enum ... ok
test parser::tests::test_x_rust_type_on_number_property ... ok
test parser::tests::test_x_rust_type_on_string_property ... ok
test parser::tests::test_x_rust_type_works_with_oneof ... ok

test result: ok. 124 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.10s

 Running unittests src\main.rs (target\llvm-cov-target\debug\deps\omg-656b5a9073c3f371.exe)

running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s

 Running tests\integration_test.rs (target\llvm-cov-target\debug\deps\integration_test-d667bb32b5f34b2b.exe)

running 18 tests
test test_pipeline_anyof_union ... ok
test test_pipeline_date_import_added_for_date_field ... ok
test test_pipeline_boolean_and_number_fields ... ok
test test_pipeline_chrono_import_added_for_datetime_field ... ok
test test_pipeline_display_flag_adds_display_impl ... ok
test test_pipeline_empty_spec_produces_no_models ... ok
test test_pipeline_allof_composition ... ok
test test_pipeline_enum ... ok
test test_pipeline_no_duplicate_models ... ok
test test_pipeline_oneof_union ... ok
test test_pipeline_simple_struct ... ok
test test_pipeline_inline_nested_object_generates_struct ... ok
test test_pipeline_models_only_mode_omits_request_response ... ok
test test_pipeline_parse_from_yaml_string ... ok
test test_pipeline_type_alias_from_x_rust_type ... ok
test test_pipeline_requests_and_responses_with_all_mode ... ok
test test_pipeline_uuid_import_added_for_uuid_field ... ok
test test_pipeline_x_rust_attrs_applied_to_generated_struct ... ok

test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s

Filename                      Regions    Missed Regions     Cover   Functions  Missed Functions  Executed       Lines      Missed Lines     Cover    Branches   Missed Branches     Cover
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
cli.rs                              7                 7     0.00%           1                 1     0.00%           7                 7     0.00%           0                 0         -
generator.rs                     1927               130    93.25%          98                 2    97.96%        1132                72    93.64%           0                 0         -
main.rs                            99                99     0.00%           5                 5     0.00%          67                67     0.00%           0                 0         -
models.rs                         192                 0   100.00%          21                 0   100.00%         142                 0   100.00%           0                 0         -
parser.rs                        3161               439    86.11%         150                15    90.00%        1924               320    83.37%           0                 0         -
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
TOTAL                            5386               675    87.47%         275                23    91.64%        3272               466    85.76%           0                 0         -

@IvanKuchin IvanKuchin marked this pull request as ready for review July 3, 2026 22:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant