Skip to content

Add integration test stage with encryption enabled#26586

Closed
PVince81 wants to merge 3 commits into
masterfrom
integration-test-encryption
Closed

Add integration test stage with encryption enabled#26586
PVince81 wants to merge 3 commits into
masterfrom
integration-test-encryption

Conversation

@PVince81

@PVince81 PVince81 commented Nov 9, 2016

Copy link
Copy Markdown
Contributor

Description

Make it possible to run integration tests with enabled encryption.
Added this as a stage in Jenkinsfile.

Related Issue

Fixes owncloud/QA#324

Motivation and Context

Because we need to make sure that the regular test scenarios like sharing, transfer ownership and others also work with encryption enabled.

How Has This Been Tested?

Let CI do the job.

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Moar QA

Checklist:

  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

@owncloud/qa @DeepDiver1975

@PVince81 PVince81 added this to the 9.2 milestone Nov 9, 2016
@mention-bot

Copy link
Copy Markdown

@PVince81, thanks for your PR! By analyzing the history of the files in this pull request, we identified @DeepDiver1975, @jnweiger and @SergioBertolinSG to be potential reviewers.

@PVince81

PVince81 commented Nov 9, 2016

Copy link
Copy Markdown
Contributor Author

Ohhhh failures:

15:12:08     /var/lib/jenkins/workspace/owncloud-core_core_PR-26586-UHHZGPJTNZZXNYHVWN54UXKS3C6Y22WCJXS34LJWRWUIOPWYGXJA/build/integration/features/provisioning-v1.feature:279
15:12:08     /var/lib/jenkins/workspace/owncloud-core_core_PR-26586-UHHZGPJTNZZXNYHVWN54UXKS3C6Y22WCJXS34LJWRWUIOPWYGXJA/build/integration/features/transfer-ownership.feature:3
15:12:08     /var/lib/jenkins/workspace/owncloud-core_core_PR-26586-UHHZGPJTNZZXNYHVWN54UXKS3C6Y22WCJXS34LJWRWUIOPWYGXJA/build/integration/features/transfer-ownership.feature:13
15:12:08     /var/lib/jenkins/workspace/owncloud-core_core_PR-26586-UHHZGPJTNZZXNYHVWN54UXKS3C6Y22WCJXS34LJWRWUIOPWYGXJA/build/integration/features/transfer-ownership.feature:24
15:12:08     /var/lib/jenkins/workspace/owncloud-core_core_PR-26586-UHHZGPJTNZZXNYHVWN54UXKS3C6Y22WCJXS34LJWRWUIOPWYGXJA/build/integration/features/transfer-ownership.feature:35
15:12:08     /var/lib/jenkins/workspace/owncloud-core_core_PR-26586-UHHZGPJTNZZXNYHVWN54UXKS3C6Y22WCJXS34LJWRWUIOPWYGXJA/build/integration/features/transfer-ownership.feature:47
15:12:08     /var/lib/jenkins/workspace/owncloud-core_core_PR-26586-UHHZGPJTNZZXNYHVWN54UXKS3C6Y22WCJXS34LJWRWUIOPWYGXJA/build/integration/features/transfer-ownership.feature:60
15:12:08     /var/lib/jenkins/workspace/owncloud-core_core_PR-26586-UHHZGPJTNZZXNYHVWN54UXKS3C6Y22WCJXS34LJWRWUIOPWYGXJA/build/integration/features/transfer-ownership.feature:75
15:12:08     /var/lib/jenkins/workspace/owncloud-core_core_PR-26586-UHHZGPJTNZZXNYHVWN54UXKS3C6Y22WCJXS34LJWRWUIOPWYGXJA/build/integration/features/transfer-ownership.feature:88
15:12:08     /var/lib/jenkins/workspace/owncloud-core_core_PR-26586-UHHZGPJTNZZXNYHVWN54UXKS3C6Y22WCJXS34LJWRWUIOPWYGXJA/build/integration/features/transfer-ownership.feature:97
15:12:08 

@PVince81

Copy link
Copy Markdown
Contributor Author

Some files are encrypted - please decrypt them first
  /user0/files/PARENT/CHILD/child.txt
  /user0/files/PARENT/parent.txt
  /user0/files/somefile.txt
  /user0/files/textfile0.txt
  /user0/files/textfile1.txt
  /user0/files/textfile2.txt
  /user0/files/textfile3.txt
  /user0/files/textfile4.txt
  /user0/files/welcome.txt

Hmmm

@PVince81

Copy link
Copy Markdown
Contributor Author

I'm not sure how to make this work. Apparently the transfer ownership feature asks the admin to first decrypt files. We could add an optional step "admin decrypts files for user XYZ" which would do nothing when encryption is disabled. But for decryption we need to input the user's password or have a recovery key set.

Also "occ decrypt-all" is an interactive command and would require stdin/stdout magic/juggling to make it work. Piping all answers directly do not seem to work.

@PVince81

Copy link
Copy Markdown
Contributor Author

Will require #26597 to be able to implement "decrypt-all" command from within the tests.

Maybe in the meantime we could skip transfer ownership tests when encryption is enabled.

@PVince81

Copy link
Copy Markdown
Contributor Author

The remaining failure is about the list of apps not matching, because now we have the "encryption" app enabled as well...

@PVince81

Copy link
Copy Markdown
Contributor Author

I've added a new tag @no_encryption to exclude tests when encryption is enabled.
For now the transfer ownership tests and the one test with the apps list will be disabled.

At least if we merge this now we can benefit for integration test coverage for everything else.

@PVince81

Copy link
Copy Markdown
Contributor Author

Might need more work to set this up properly:

[Thu Nov 10 14:41:15 2016] Could not decrypt the private key from user "admin"" during login. Assume password change on the user back-end. Error message: Bad Signature

@PVince81

Copy link
Copy Markdown
Contributor Author

and:

/var/lib/jenkins/workspace/owncloud-core_core_PR-26586-UHHZGPJTNZZXNYHVWN54UXKS3C6Y22WCJXS34LJWRWUIOPWYGXJA/build/integration/features/external-storage.feature:7

@PVince81 PVince81 force-pushed the integration-test-encryption branch from fdcd51e to 4fbcb7a Compare December 20, 2016 09:49
@PVince81

Copy link
Copy Markdown
Contributor Author

@SergioBertolinSG @davitol please review. The Jenkins PR passed now and I expect the Travis to pass soon too.

@PVince81

Copy link
Copy Markdown
Contributor Author

and @DeepDiver1975 please approve the extra load on Jenkins

@PVince81

Copy link
Copy Markdown
Contributor Author

Wow, that took 3 hours https://jenkins.owncloud.org/job/owncloud-core/job/core/job/PR-26586/3/

@DeepDiver1975 you were right, maybe we should run that one encryption suite on master and not on the PRs ? There will be even more suites in the future with special getHome configs with and without encryption.

@PVince81

Copy link
Copy Markdown
Contributor Author

@DeepDiver1975 should we revert the Jenkinsfile change then so we can merge the test scripts at least ? It wouldn't run on CI yet but would be able to run it there later.

@PVince81

Copy link
Copy Markdown
Contributor Author

@PVince81

Copy link
Copy Markdown
Contributor Author

Closing in favor of #26844

@PVince81 PVince81 closed this Jan 10, 2017
@PVince81 PVince81 deleted the integration-test-encryption branch January 10, 2017 17:10
@lock

lock Bot commented Aug 4, 2019

Copy link
Copy Markdown

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock Bot locked as resolved and limited conversation to collaborators Aug 4, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Run integration tests with encryption

2 participants