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

Import firestore conformance tests from googleapis/conformance-tests@32fd66cf7dffe8431643f08b5944108ac10c8bc2 #5541

Merged
merged 1 commit into from
Jul 10, 2019
Merged

Import firestore conformance tests from googleapis/conformance-tests@32fd66cf7dffe8431643f08b5944108ac10c8bc2 #5541

merged 1 commit into from
Jul 10, 2019

Conversation

BenWhitehead
Copy link
Contributor

  • Add new script generate-conformance-tests.sh that can reliably update
      the various files that make up the conformance tests.
      * Currently the script only updates firestore tests.
      * Updating of the git-submodule linking to conformance-tests is not
        done by the script, it is expected that the developer will do the
        bumping.
  • import proto definition
  • generate updated TestDefinition from definition
  • Add individual test files
  • Add maven profile gen-conformance-protos that can be used to generate protos in com.google.cloud:google-cloud-conformance-tests

Depends on #5540

@BenWhitehead BenWhitehead requested a review from a team as a code owner June 21, 2019 22:26
@googlebot googlebot added the cla: yes This human has signed the Contributor License Agreement. label Jun 21, 2019
@BenWhitehead
Copy link
Contributor Author

@kolea2 Please review

Copy link
Contributor

@chingor13 chingor13 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are all the languages using submodules for reading the tests?

@BenWhitehead
Copy link
Contributor Author

Are all the languages using submodules for reading the tests?

They are starting to move in that direction. dotnet is already using sub-module, and ruby is going to move when updating the firestore tests.

I will note, the submodule here is purely to track the commit the resources are from, the sub-module does not need to be cloned for the tests to run. The script generate-conformance-tests.sh copies and generates everything into the correct location so the tests can run.

@codecov
Copy link

codecov bot commented Jun 27, 2019

Codecov Report

Merging #5541 into master will decrease coverage by <.01%.
The diff coverage is n/a.

Impacted file tree graph

@@             Coverage Diff              @@
##             master    #5541      +/-   ##
============================================
- Coverage     46.71%   46.71%   -0.01%     
+ Complexity    24630    24624       -6     
============================================
  Files          2351     2351              
  Lines        256127   256121       -6     
  Branches      29325    29323       -2     
============================================
- Hits         119650   119645       -5     
+ Misses       127558   127557       -1     
  Partials       8919     8919
Impacted Files Coverage Δ Complexity Δ
...able/gaxx/reframing/ReframingResponseObserver.java 88.99% <0%> (-1.84%) 29% <0%> (-1%)
...om/google/cloud/bigtable/data/v2/models/Query.java 66.32% <0%> (-0.35%) 22% <0%> (-3%)
...ogle/cloud/talent/v4beta1/TenantServiceClient.java 59.25% <0%> (ø) 22% <0%> (ø) ⬇️
...oogle/cloud/talent/v4beta1/EventServiceClient.java 42.42% <0%> (ø) 7% <0%> (ø) ⬇️
.../google/cloud/talent/v4beta1/JobServiceClient.java 45.69% <0%> (ø) 34% <0%> (ø) ⬇️
...cloud/talent/v4beta1/ApplicationServiceClient.java 61.17% <0%> (ø) 23% <0%> (ø) ⬇️
...gle/cloud/talent/v4beta1/CompanyServiceClient.java 59.25% <0%> (ø) 22% <0%> (ø) ⬇️
...gle/cloud/talent/v4beta1/ProfileServiceClient.java 47.52% <0%> (ø) 22% <0%> (ø) ⬇️
...src/main/java/com/google/cloud/ServiceOptions.java 40.61% <0%> (+0.35%) 27% <0%> (-2%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c5d709c...c5dce8f. Read the comment docs.

@BenWhitehead BenWhitehead changed the title Import firestore conformance tests from googleapis/conformance-tests@5a984706af594b8ec2ef549040139c9704554bf4 Import firestore conformance tests from googleapis/conformance-tests@32fd66cf7dffe8431643f08b5944108ac10c8bc2 Jun 27, 2019
@BenWhitehead
Copy link
Contributor Author

The builds are currently failing because I need to rebase them. Since this PR is dependent on another PR I'll wait to rebase until that PR is merged. The changes in the PR are unrelated to the build failures and can still be reviewed.

@BenWhitehead
Copy link
Contributor Author

Rebased after merge of #5540 and ready for review.

@yoshi-automation yoshi-automation added the 🚨 This issue needs some love. label Jun 28, 2019
@@ -0,0 +1,3 @@
[submodule "google-cloud-testing/google-cloud-conformance-tests/conformance-tests"]
path = google-cloud-testing/google-cloud-conformance-tests/conformance-tests
url = [email protected]:googleapis/conformance-tests.git
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just for my understanding, what does this do?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This file is the definition for the git-submodule which is being used to track which revision the local conformance test resources came from. You can see an example of what it looks like and how it exists in the file tree here.

@kolea2
Copy link
Contributor

kolea2 commented Jul 1, 2019

(can't comment on the file as it is too big) Is TestDefinition.java generated or hand written?

@BenWhitehead
Copy link
Contributor Author

(can't comment on the file as it is too big) Is TestDefinition.java generated or hand written?

TestDefinition.java is generated from tests.proto.

@kolea2
Copy link
Contributor

kolea2 commented Jul 2, 2019

LGTM, @chingor13 do you have any final comments?

@chingor13
Copy link
Contributor

LGTM, but can you add a bit more info on the README for the conformance tests on the relationship between the test protos and the json config files?

@yoshi-automation yoshi-automation removed the 🚨 This issue needs some love. label Jul 3, 2019
…2fd66c

* Add new script generate-conformance-tests.sh that can reliably update
  the various files that make up the conformance tests.
  * Currently the script only updates firestore tests.
  * Updating of the git-submodule linking to conformance-tests is not
    done by the script, it is expected that the developer will do the
    bumping.
* import proto definition
* generate updated TestDefinition from definition
* Add individual test files
* Add maven profile `gen-conformance-protos` that can be used to generate protos in `com.google.cloud:google-cloud-conformance-tests`
@BenWhitehead
Copy link
Contributor Author

@chingor13 Added some details to the README to explain the files and their relationships. I've also rebased the PR on master.

@BenWhitehead BenWhitehead merged commit 722e79c into googleapis:master Jul 10, 2019
@BenWhitehead BenWhitehead deleted the firestore/conformance-tests-migration/step2 branch July 10, 2019 15:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cla: yes This human has signed the Contributor License Agreement.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants