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

writefile in cs3 interface does not properly support locking #137

Closed
glpatcern opened this issue Nov 27, 2023 · 12 comments · Fixed by #139
Closed

writefile in cs3 interface does not properly support locking #137

glpatcern opened this issue Nov 27, 2023 · 12 comments · Fixed by #139
Assignees

Comments

@glpatcern
Copy link
Member

As we're at last bringing our EOS driver for Reva up to speed also in terms of locking, I see we have two issues related to handling write operations in the context of locks:

  • In our case, the lockid is not sufficient and we need to pass also the holder. This could be passed along as an extra opaque parameter, and I guess it would help in all implementations for logging/monitoring purposes (which apps executed which PUT operations)
  • The error handling is incorrect: in case of a PUT with a mismatched lock, we expect the InitiateFileUpload request to fail with a CODE_FAILED_PRECONDITION error, and we should not look into any custom error message.

@wkloucek for the latter point, how is Reva edge behaving? Is that case supported at all?

@glpatcern glpatcern self-assigned this Nov 27, 2023
@wkloucek
Copy link
Contributor

The error handling is incorrect: in case of a PUT with a mismatched lock, we expect the InitiateFileUpload request to fail with a CODE_FAILED_PRECONDITION error, and we should not look into any custom error message.

@DeepDiver1975 could you look into that please?

@DeepDiver1975
Copy link
Contributor

wopi validator should catch this scenario - right?

@glpatcern
Copy link
Member Author

wopi validator should catch this scenario - right?

Good point, @wkloucek did you ever try to run the wopi validator against Reva (edge of course)? I regularly run it with the xroot interface, which does NOT suffer from this bug.

@DeepDiver1975
Copy link
Contributor

We do run the wopi validator in scope of ocis with the wopi server.

I will double check if tests.do cover this case.

@wkloucek
Copy link
Contributor

@DeepDiver1975 are you working on that? @jvillafanez can you maybe give it a try if @DeepDiver1975 can't proceed on it?

@jvillafanez
Copy link

I've tried to run the wopi validator using the https://hub.docker.com/r/deepdiver/wopi-validator-core-docker image, but it isn't working for me. Not sure if the instances need to be public

root@4dc86b51c8d4:/wopi-validator-core/src/WopiValidator/bin/Release/netcoreapp2.0# dotnet Microsoft.Office.WopiValidator.dll -w 'http://wopiserver/wopi/files/1bbcfa84-759d-4a3e-93f7-4b93a61e628c!ODcyMWZkMTAtMzg1Yy00MTJjLWE0MjUtYWZhYmUxZDViNTI4' -t "`cat /opt/wopitoken/token.txt`" -l 0 -c TestCases.xml -e OfficeOnline

Test group: BaseWopiViewing
System.NullReferenceException: Object reference not set to an instance of an object.
   at Microsoft.Office.WopiValidator.Core.Requests.RequestBase.GetResponseData(HttpWebResponse response, Boolean isTextResponseExpected, TimeSpan elapsed) in /wopi-validator-core/src/WopiValidator.Core/Requests/RequestBase.cs:line 164
   at Microsoft.Office.WopiValidator.Core.Requests.RequestBase.ExecuteRequest(RequestExecutionData executionData, String userAgent, Boolean hasToBeSuccessful) in /wopi-validator-core/src/WopiValidator.Core/Requests/RequestBase.cs:line 116
   at Microsoft.Office.WopiValidator.Core.Requests.WopiRequest.Execute(String endpointAddress, String accessToken, Int64 accessTokenTtl, ITestCase testCase, Dictionary`2 savedState, IResourceManager resourceManager, String userAgent, RSACryptoServiceProvider proofKeyProviderNew, RSACryptoServiceProvider proofKeyProviderOld) in /wopi-validator-core/src/WopiValidator.Core/Requests/WopiRequest.cs:line 107
   at Microsoft.Office.WopiValidator.Core.TestCaseExecutor.ExecuteTestCase(ITestCase testCase) in /wopi-validator-core/src/WopiValidator.Core/TestCaseExecutor.cs:line 81
   at System.Linq.Enumerable.SelectListIterator`2.MoveNext()
   at System.Linq.Enumerable.TryGetFirst[TSource](IEnumerable`1 source, Func`2 predicate, Boolean& found)
   at Microsoft.Office.WopiValidator.Core.TestCaseExecutor.Execute() in /wopi-validator-core/src/WopiValidator.Core/TestCaseExecutor.cs:line 54
   at System.Linq.Utilities.<>c__DisplayClass2_0`3.<CombineSelectors>b__0(TSource x)
   at System.Linq.Enumerable.SelectIListIterator`2.MoveNext()
   at Microsoft.Office.WopiValidator.Program.Execute(Options options) in /wopi-validator-core/src/WopiValidator/Program.cs:line 98
   at CommandLine.ParserResultExtensions.WithParsed[T](ParserResult`1 result, Action`1 action)
   at Microsoft.Office.WopiValidator.Program.Main(String[] args) in /wopi-validator-core/src/WopiValidator/Program.cs:line 36

The wopiserver is running the "cs3org/wopiserver:v10.3.1" docker image.
The ocis build should be close to yesterday master (commit https://github.com/owncloud/ocis/tree/6a4832a6f8ec9b76b2d74a5dc9f023f58023b259) although I have some changes on top. The ocis build apparently works fine with the wopi server above plus onlyoffice "onlyoffice/documentserver:7.3.3", although I can't confirm the behavior of this ticket.

If someone has steps to reproduce, I can try to check the issue following the steps and try to work from there.

@wkloucek
Copy link
Contributor

I've tried to run the wopi validator using the https://hub.docker.com/r/deepdiver/wopi-validator-core-docker image

I don't remember the exact version differences but you probably should prefer https://github.com/owncloud-ci/wopi-validator over the image you mentioned

In https://github.com/owncloud/ocis/blob/c7b50b45407404bfaa62ac190165f1ae46f2319e/.drone.star#L881-L986 you can find the CI way to run the wopi validator and what we currently expect to pass. BaseWopiViewing should be on it. Maybe you can verify your setup by running a version covered by the CI, eg. https://github.com/owncloud/ocis/blob/c7b50b45407404bfaa62ac190165f1ae46f2319e/.drone.star#L944

@micbar

This comment was marked as off-topic.

@glpatcern
Copy link
Member Author

@micbar I understand your comments belong to other issues? I'll move them there

@jvillafanez
Copy link

This is the full run for the wopi validator.

  • cs3org/wopiserver:v10.3.1
  • onlyoffice/documentserver:7.3.3
  • ocis close to 5.0.0rc1 I think (commit owncloud/ocis@6a4832a)
  • reva tagged as github.com/cs3org/reva/v2 v2.18.1-0.20240208105019-d5e420d294be (commit cs3org/reva@d5e420d294be)
  • wopi validator image:
              "Labels": {
                  "maintainer": "ownCloud GmbH <[email protected]>",
                  "org.opencontainers.image.authors": "ownCloud DevOps <[email protected]>",
                  "org.opencontainers.image.created": "2024-01-22T08:00:14Z",
                  "org.opencontainers.image.documentation": "https://github.com/owncloud-ci/wopi-validator",
                  "org.opencontainers.image.revision": "51e7fc849535939ae820e37c0a5a6443e335e72e",
                  "org.opencontainers.image.source": "https://github.com/owncloud-ci/wopi-validator.git",
                  "org.opencontainers.image.title": "ownCloud CI wopi-validator",
                  "org.opencontainers.image.url": "https://github.com/owncloud-ci/wopi-validator"
              }
    
    

Note that I have to hack things a bit in order to work with the ".wopitest" file that the validator requires, so it isn't a clean install.

/app # /app/Microsoft.Office.WopiValidator -t "$WOPI_TOKEN" -w $WOPI_SRC -l 9999
9999 -s

Test group: CheckFileInfoSchema
  Fail: FullCheckFileInfoSchema
    CheckFileInfo, response code: 200 OK
      String Expected: BreadcrumbBrandName, BreadcrumbBrandUrl
    Re-run command: .\wopivalidator.exe -n FullCheckFileInfoSchema -w http://wopiserver:8880/wopi/files/cdb05bf7-377c-4c82-9282-0f144e278cad!M2VmNmY2YjUtYWFhNi00NzU4LTgzZmYtOTQzN2NlNjVhZWI2 -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOiJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKaGRXUWlPaUp5WlhaaElpd2laWGh3SWpveE56QTRNRGMxTlRBMUxDSnBZWFFpT2pFM01EYzVPRGt4TURVc0ltbHpjeUk2SW1oMGRIQnpPaTh2YTJWNVkyeHZZV3N1YW5BdWMyOXNhV1JuWldGeUxuQnlkaTl5WldGc2JYTXZiME5KVXlJc0luVnpaWElpT25zaWFXUWlPbnNpYVdSd0lqb2lhSFIwY0hNNkx5OXJaWGxqYkc5aGF5NXFjQzV6YjJ4cFpHZGxZWEl1Y0hKMkwzSmxZV3h0Y3k5dlEwbFRJaXdpYjNCaGNYVmxYMmxrSWpvaVpUQTFPVGc0T1RFdE1EQTNOUzAwWm1WbUxUZzFPVE10WldJMU1EZ3hZMkppWVdVMklpd2lkSGx3WlNJNk1YMHNJblZ6WlhKdVlXMWxJam9pWVdSdGFXNGlMQ0p0WVdsc0lqb2lZV1J0YVc1QVpYaGhiWEJzWlM1dmNtY2lMQ0prYVhOd2JHRjVYMjVoYldVaU9pSkJaRzFwYmlCQlpHMXBiaUlzSW5WcFpGOXVkVzFpWlhJaU9qazVMQ0puYVdSZmJuVnRZbVZ5SWpvNU9YMHNJbk5qYjNCbElqcDdJblZ6WlhJaU9uc2ljbVZ6YjNWeVkyVWlPbnNpWkdWamIyUmxjaUk2SW1wemIyNGlMQ0oyWVd4MVpTSTZJbVY1U25kWldGSnZTV3B2YVV4NVNqa2lmU3dpY205c1pTSTZNWDE5ZlEuLVp5cFYtZF81UHVhQ2tKYjVEa2VEWjRZczF3LU1WTEEzNldTdi0wcmlURSIsIndvcGl1c2VyIjoiZTA1OTg4OTEtMDA3NS00ZmVmLTg1OTMtZWI1MDgxY2JiYWU2IWUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNkBodHRwczovL2tleWNsb2FrLmpwLnNvbGlkZ2Vhci5wcnYvcmVhbG1zL29DSVMiLCJ1c2VydHlwZSI6InJlZ3VsYXIiLCJmaWxlbmFtZSI6ImUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNi9OZXcgZmlsZS53b3BpdGVzdCIsImZpbGVpZCI6IjNlZjZmNmI1LWFhYTYtNDc1OC04M2ZmLTk0MzdjZTY1YWViNiIsInVzZXJuYW1lIjoiQWRtaW4gQWRtaW4iLCJ2aWV3bW9kZSI6IlZJRVdfTU9ERV9SRUFEX1dSSVRFIiwiZm9sZGVydXJsIjoiaHR0cHM6Ly9vY2lzLmpwLnNvbGlkZ2Vhci5wcnYvZi9jZGIwNWJmNy0zNzdjLTRjODItOTI4Mi0wZjE0NGUyNzhjYWQkZTA1OTg4OTEtMDA3NS00ZmVmLTg1OTMtZWI1MDgxY2JiYWU2ITNlZjZmNmI1LWFhYTYtNDc1OC04M2ZmLTk0MzdjZTY1YWViNiIsImVuZHBvaW50IjoiY2RiMDViZjctMzc3Yy00YzgyLTkyODItMGYxNDRlMjc4Y2FkJGUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNiIsImFwcG5hbWUiOiJPbmx5T2ZmaWNlIiwiYXBwZWRpdHVybCI6Imh0dHBzOi8vb25seW9mZmljZS5qcC5zb2xpZGdlYXIucHJ2L2hvc3Rpbmcvd29waS93b3JkL2VkaXQiLCJhcHB2aWV3dXJsIjoiaHR0cHM6Ly9vbmx5b2ZmaWNlLmpwLnNvbGlkZ2Vhci5wcnYvaG9zdGluZy93b3BpL3dvcmQvdmlldyIsInRyYWNlIjoiTi9BIiwiZXhwIjoxNzA4MDc1NTA1LCJpc3MiOiJjczNvcmc6d29waXNlcnZlcjoifQ.OAWpxelDmevHT36ZHnlIhqZMXiqtEF3TiVxeKVvH83U -l 99999999

  Pass: HostUrls
  Pass: CheckFileWithInvalidAccessToken

Test group: BaseWopiViewing
  Pass: ViewOnlySupport
  Pass: GetUnlockedFile

Test group: Locks
  Pass: LockLengthValidation
  Pass: LockFormatValidation
  Pass: SuccessfulLockSequence
  Pass: LockMismatchAfterUnlockAndRelockRequest
  Pass: DoubleLockSequence
  Pass: UnlockUnlockedFile
  Pass: LockMismatchOnLockRequest
  Pass: LockMismatchOnUnlockRequest
  Pass: LockMismatchOnRefreshLockRequest
  Pass: LockMismatchOnUnlockAndRelockRequest
  Pass: LockMismatchOnPutFileRequest
  Pass: LockFileWithInvalidAccessToken
  Pass: UnlockFileWithInvalidAccessToken

Test group: GetLock
  Pass: files.GetLock
  Pass: files.GetLockAfterChange
  Pass: files.GetLockOnUnlockedFile

Test group: ExtendedLockLength
  Pass: files.ExtendedLockLengthValidation

Test group: EditFlows
  Pass: BasicEdit
  Pass: EditNoChange
  Pass: PutUnlockedFile
  Pass: PutUnlockedFileNotZeroBytes
  Pass: GetPutFileWithInvalidAccessToken

Test group: FileVersion
  Pass: files.GetFileReturnsVersion
  Pass: files.LockReturnsVersion
  Pass: files.UnlockReturnsVersion
  Pass: files.PutFileReturnsVersion
  Pass: files.PutFileReturnsDifferentVersion
  Pass: files.LockAndUnlockAfterGetFileReturnsSameVersion

Test group: PutUserInfo
  Pass: PutUserInfoSucceeds

Test group: PutRelativeFile
  Fail: PutRelativeFile.SuggestedExtension
    CheckFileInfo, response code: 200 OK
    PutRelativeFile, response code: 500 InternalServerError
      Incorrect value for 'Name' property. Required property missing
      Incorrect value for 'Url' property. Value is required but not provided.
    DeleteFile, response code: 0 0
    Re-run command: .\wopivalidator.exe -n PutRelativeFile.SuggestedExtension -w http://wopiserver:8880/wopi/files/cdb05bf7-377c-4c82-9282-0f144e278cad!M2VmNmY2YjUtYWFhNi00NzU4LTgzZmYtOTQzN2NlNjVhZWI2 -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOiJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKaGRXUWlPaUp5WlhaaElpd2laWGh3SWpveE56QTRNRGMxTlRBMUxDSnBZWFFpT2pFM01EYzVPRGt4TURVc0ltbHpjeUk2SW1oMGRIQnpPaTh2YTJWNVkyeHZZV3N1YW5BdWMyOXNhV1JuWldGeUxuQnlkaTl5WldGc2JYTXZiME5KVXlJc0luVnpaWElpT25zaWFXUWlPbnNpYVdSd0lqb2lhSFIwY0hNNkx5OXJaWGxqYkc5aGF5NXFjQzV6YjJ4cFpHZGxZWEl1Y0hKMkwzSmxZV3h0Y3k5dlEwbFRJaXdpYjNCaGNYVmxYMmxrSWpvaVpUQTFPVGc0T1RFdE1EQTNOUzAwWm1WbUxUZzFPVE10WldJMU1EZ3hZMkppWVdVMklpd2lkSGx3WlNJNk1YMHNJblZ6WlhKdVlXMWxJam9pWVdSdGFXNGlMQ0p0WVdsc0lqb2lZV1J0YVc1QVpYaGhiWEJzWlM1dmNtY2lMQ0prYVhOd2JHRjVYMjVoYldVaU9pSkJaRzFwYmlCQlpHMXBiaUlzSW5WcFpGOXVkVzFpWlhJaU9qazVMQ0puYVdSZmJuVnRZbVZ5SWpvNU9YMHNJbk5qYjNCbElqcDdJblZ6WlhJaU9uc2ljbVZ6YjNWeVkyVWlPbnNpWkdWamIyUmxjaUk2SW1wemIyNGlMQ0oyWVd4MVpTSTZJbVY1U25kWldGSnZTV3B2YVV4NVNqa2lmU3dpY205c1pTSTZNWDE5ZlEuLVp5cFYtZF81UHVhQ2tKYjVEa2VEWjRZczF3LU1WTEEzNldTdi0wcmlURSIsIndvcGl1c2VyIjoiZTA1OTg4OTEtMDA3NS00ZmVmLTg1OTMtZWI1MDgxY2JiYWU2IWUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNkBodHRwczovL2tleWNsb2FrLmpwLnNvbGlkZ2Vhci5wcnYvcmVhbG1zL29DSVMiLCJ1c2VydHlwZSI6InJlZ3VsYXIiLCJmaWxlbmFtZSI6ImUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNi9OZXcgZmlsZS53b3BpdGVzdCIsImZpbGVpZCI6IjNlZjZmNmI1LWFhYTYtNDc1OC04M2ZmLTk0MzdjZTY1YWViNiIsInVzZXJuYW1lIjoiQWRtaW4gQWRtaW4iLCJ2aWV3bW9kZSI6IlZJRVdfTU9ERV9SRUFEX1dSSVRFIiwiZm9sZGVydXJsIjoiaHR0cHM6Ly9vY2lzLmpwLnNvbGlkZ2Vhci5wcnYvZi9jZGIwNWJmNy0zNzdjLTRjODItOTI4Mi0wZjE0NGUyNzhjYWQkZTA1OTg4OTEtMDA3NS00ZmVmLTg1OTMtZWI1MDgxY2JiYWU2ITNlZjZmNmI1LWFhYTYtNDc1OC04M2ZmLTk0MzdjZTY1YWViNiIsImVuZHBvaW50IjoiY2RiMDViZjctMzc3Yy00YzgyLTkyODItMGYxNDRlMjc4Y2FkJGUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNiIsImFwcG5hbWUiOiJPbmx5T2ZmaWNlIiwiYXBwZWRpdHVybCI6Imh0dHBzOi8vb25seW9mZmljZS5qcC5zb2xpZGdlYXIucHJ2L2hvc3Rpbmcvd29waS93b3JkL2VkaXQiLCJhcHB2aWV3dXJsIjoiaHR0cHM6Ly9vbmx5b2ZmaWNlLmpwLnNvbGlkZ2Vhci5wcnYvaG9zdGluZy93b3BpL3dvcmQvdmlldyIsInRyYWNlIjoiTi9BIiwiZXhwIjoxNzA4MDc1NTA1LCJpc3MiOiJjczNvcmc6d29waXNlcnZlcjoifQ.OAWpxelDmevHT36ZHnlIhqZMXiqtEF3TiVxeKVvH83U -l 99999999

  Pass: PutRelativeFile.SuggestedName
  Pass: PutRelativeFile.SuggestedNameConflict
  Fail: PutRelativeFile.RelativeName
    CheckFileInfo, response code: 200 OK
    PutRelativeFile, response code: 409 Conflict
      Incorrect value for 'Url' property. Cannot parse http%3A%2F%2Fwopiserver%3A8880%2Fwopi%2Ffiles%2Fcdb05bf7%2D377c%2D4c82%2D9282%2D0f144e278cad%21ZmI1MDI0YWQtOTkzMS00MGM4LWFlOTYtMzU3MzNkMTMyNDY3 as absolute URL
    DeleteFile, response code: 0 0
    Re-run command: .\wopivalidator.exe -n PutRelativeFile.RelativeName -w http://wopiserver:8880/wopi/files/cdb05bf7-377c-4c82-9282-0f144e278cad!M2VmNmY2YjUtYWFhNi00NzU4LTgzZmYtOTQzN2NlNjVhZWI2 -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOiJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKaGRXUWlPaUp5WlhaaElpd2laWGh3SWpveE56QTRNRGMxTlRBMUxDSnBZWFFpT2pFM01EYzVPRGt4TURVc0ltbHpjeUk2SW1oMGRIQnpPaTh2YTJWNVkyeHZZV3N1YW5BdWMyOXNhV1JuWldGeUxuQnlkaTl5WldGc2JYTXZiME5KVXlJc0luVnpaWElpT25zaWFXUWlPbnNpYVdSd0lqb2lhSFIwY0hNNkx5OXJaWGxqYkc5aGF5NXFjQzV6YjJ4cFpHZGxZWEl1Y0hKMkwzSmxZV3h0Y3k5dlEwbFRJaXdpYjNCaGNYVmxYMmxrSWpvaVpUQTFPVGc0T1RFdE1EQTNOUzAwWm1WbUxUZzFPVE10WldJMU1EZ3hZMkppWVdVMklpd2lkSGx3WlNJNk1YMHNJblZ6WlhKdVlXMWxJam9pWVdSdGFXNGlMQ0p0WVdsc0lqb2lZV1J0YVc1QVpYaGhiWEJzWlM1dmNtY2lMQ0prYVhOd2JHRjVYMjVoYldVaU9pSkJaRzFwYmlCQlpHMXBiaUlzSW5WcFpGOXVkVzFpWlhJaU9qazVMQ0puYVdSZmJuVnRZbVZ5SWpvNU9YMHNJbk5qYjNCbElqcDdJblZ6WlhJaU9uc2ljbVZ6YjNWeVkyVWlPbnNpWkdWamIyUmxjaUk2SW1wemIyNGlMQ0oyWVd4MVpTSTZJbVY1U25kWldGSnZTV3B2YVV4NVNqa2lmU3dpY205c1pTSTZNWDE5ZlEuLVp5cFYtZF81UHVhQ2tKYjVEa2VEWjRZczF3LU1WTEEzNldTdi0wcmlURSIsIndvcGl1c2VyIjoiZTA1OTg4OTEtMDA3NS00ZmVmLTg1OTMtZWI1MDgxY2JiYWU2IWUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNkBodHRwczovL2tleWNsb2FrLmpwLnNvbGlkZ2Vhci5wcnYvcmVhbG1zL29DSVMiLCJ1c2VydHlwZSI6InJlZ3VsYXIiLCJmaWxlbmFtZSI6ImUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNi9OZXcgZmlsZS53b3BpdGVzdCIsImZpbGVpZCI6IjNlZjZmNmI1LWFhYTYtNDc1OC04M2ZmLTk0MzdjZTY1YWViNiIsInVzZXJuYW1lIjoiQWRtaW4gQWRtaW4iLCJ2aWV3bW9kZSI6IlZJRVdfTU9ERV9SRUFEX1dSSVRFIiwiZm9sZGVydXJsIjoiaHR0cHM6Ly9vY2lzLmpwLnNvbGlkZ2Vhci5wcnYvZi9jZGIwNWJmNy0zNzdjLTRjODItOTI4Mi0wZjE0NGUyNzhjYWQkZTA1OTg4OTEtMDA3NS00ZmVmLTg1OTMtZWI1MDgxY2JiYWU2ITNlZjZmNmI1LWFhYTYtNDc1OC04M2ZmLTk0MzdjZTY1YWViNiIsImVuZHBvaW50IjoiY2RiMDViZjctMzc3Yy00YzgyLTkyODItMGYxNDRlMjc4Y2FkJGUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNiIsImFwcG5hbWUiOiJPbmx5T2ZmaWNlIiwiYXBwZWRpdHVybCI6Imh0dHBzOi8vb25seW9mZmljZS5qcC5zb2xpZGdlYXIucHJ2L2hvc3Rpbmcvd29waS93b3JkL2VkaXQiLCJhcHB2aWV3dXJsIjoiaHR0cHM6Ly9vbmx5b2ZmaWNlLmpwLnNvbGlkZ2Vhci5wcnYvaG9zdGluZy93b3BpL3dvcmQvdmlldyIsInRyYWNlIjoiTi9BIiwiZXhwIjoxNzA4MDc1NTA1LCJpc3MiOiJjczNvcmc6d29waXNlcnZlcjoifQ.OAWpxelDmevHT36ZHnlIhqZMXiqtEF3TiVxeKVvH83U -l 99999999

  Pass: PutRelativeFile.RelativeNameOverwriteTrueNoEffect
  Pass: PutRelativeFile.RelativeNameOverwriteFalseNoEffect
  Pass: PutRelativeFile.RelativeNameConflictNoOverwrite
  Pass: PutRelativeFile.RelativeNameConflictOverwriteFalse
  Pass: PutRelativeFile.RelativeNameConflictOverwriteTrue
  Pass: PutRelativeFile.ConflictingHeaders
  Pass: PutRelativeFile.RelativeNameConflictOverwriteTrueLocked
  Pass: PutRelativeFile.FileNameReturnedIsCorrectlyEncoded
  Fail: PutRelativeFile.FileNameLongerThan512Chars
    CheckFileInfo, response code: 200 OK
    PutRelativeFile, response code: 500 InternalServerError
      Incorrect StatusCode. Expected: 200, Actual: 500
      Incorrect StatusCode. Expected: 400, Actual: 500
    DeleteFile, response code: 0 0
    Re-run command: .\wopivalidator.exe -n PutRelativeFile.FileNameLongerThan512Chars -w http://wopiserver:8880/wopi/files/cdb05bf7-377c-4c82-9282-0f144e278cad!M2VmNmY2YjUtYWFhNi00NzU4LTgzZmYtOTQzN2NlNjVhZWI2 -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOiJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKaGRXUWlPaUp5WlhaaElpd2laWGh3SWpveE56QTRNRGMxTlRBMUxDSnBZWFFpT2pFM01EYzVPRGt4TURVc0ltbHpjeUk2SW1oMGRIQnpPaTh2YTJWNVkyeHZZV3N1YW5BdWMyOXNhV1JuWldGeUxuQnlkaTl5WldGc2JYTXZiME5KVXlJc0luVnpaWElpT25zaWFXUWlPbnNpYVdSd0lqb2lhSFIwY0hNNkx5OXJaWGxqYkc5aGF5NXFjQzV6YjJ4cFpHZGxZWEl1Y0hKMkwzSmxZV3h0Y3k5dlEwbFRJaXdpYjNCaGNYVmxYMmxrSWpvaVpUQTFPVGc0T1RFdE1EQTNOUzAwWm1WbUxUZzFPVE10WldJMU1EZ3hZMkppWVdVMklpd2lkSGx3WlNJNk1YMHNJblZ6WlhKdVlXMWxJam9pWVdSdGFXNGlMQ0p0WVdsc0lqb2lZV1J0YVc1QVpYaGhiWEJzWlM1dmNtY2lMQ0prYVhOd2JHRjVYMjVoYldVaU9pSkJaRzFwYmlCQlpHMXBiaUlzSW5WcFpGOXVkVzFpWlhJaU9qazVMQ0puYVdSZmJuVnRZbVZ5SWpvNU9YMHNJbk5qYjNCbElqcDdJblZ6WlhJaU9uc2ljbVZ6YjNWeVkyVWlPbnNpWkdWamIyUmxjaUk2SW1wemIyNGlMQ0oyWVd4MVpTSTZJbVY1U25kWldGSnZTV3B2YVV4NVNqa2lmU3dpY205c1pTSTZNWDE5ZlEuLVp5cFYtZF81UHVhQ2tKYjVEa2VEWjRZczF3LU1WTEEzNldTdi0wcmlURSIsIndvcGl1c2VyIjoiZTA1OTg4OTEtMDA3NS00ZmVmLTg1OTMtZWI1MDgxY2JiYWU2IWUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNkBodHRwczovL2tleWNsb2FrLmpwLnNvbGlkZ2Vhci5wcnYvcmVhbG1zL29DSVMiLCJ1c2VydHlwZSI6InJlZ3VsYXIiLCJmaWxlbmFtZSI6ImUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNi9OZXcgZmlsZS53b3BpdGVzdCIsImZpbGVpZCI6IjNlZjZmNmI1LWFhYTYtNDc1OC04M2ZmLTk0MzdjZTY1YWViNiIsInVzZXJuYW1lIjoiQWRtaW4gQWRtaW4iLCJ2aWV3bW9kZSI6IlZJRVdfTU9ERV9SRUFEX1dSSVRFIiwiZm9sZGVydXJsIjoiaHR0cHM6Ly9vY2lzLmpwLnNvbGlkZ2Vhci5wcnYvZi9jZGIwNWJmNy0zNzdjLTRjODItOTI4Mi0wZjE0NGUyNzhjYWQkZTA1OTg4OTEtMDA3NS00ZmVmLTg1OTMtZWI1MDgxY2JiYWU2ITNlZjZmNmI1LWFhYTYtNDc1OC04M2ZmLTk0MzdjZTY1YWViNiIsImVuZHBvaW50IjoiY2RiMDViZjctMzc3Yy00YzgyLTkyODItMGYxNDRlMjc4Y2FkJGUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNiIsImFwcG5hbWUiOiJPbmx5T2ZmaWNlIiwiYXBwZWRpdHVybCI6Imh0dHBzOi8vb25seW9mZmljZS5qcC5zb2xpZGdlYXIucHJ2L2hvc3Rpbmcvd29waS93b3JkL2VkaXQiLCJhcHB2aWV3dXJsIjoiaHR0cHM6Ly9vbmx5b2ZmaWNlLmpwLnNvbGlkZ2Vhci5wcnYvaG9zdGluZy93b3BpL3dvcmQvdmlldyIsInRyYWNlIjoiTi9BIiwiZXhwIjoxNzA4MDc1NTA1LCJpc3MiOiJjczNvcmc6d29waXNlcnZlcjoifQ.OAWpxelDmevHT36ZHnlIhqZMXiqtEF3TiVxeKVvH83U -l 99999999

  Pass: PutRelativeFile.IncludeHostUrls

Test group: PutRelativeFileUnsupported

Test group: RenameFileIfCreateChildFileIsNotSupported

Test group: RenameFileIfCreateChildFileIsSupported

Test group: Ecosystem

Test group: Container

Test group: RenameContainer

Test group: EnumerateAncestorsAndChildren

Test group: CreateChildFileAndDeleteFile

Test group: FileUrlUsage
  Pass: GetFromFileUrlAfterPutFile

Test group: FileUrlViewOnly
  Pass: GetFromFileUrl

Test group: GetSharingUrlForFileWithTypeReadOnly

Test group: GetSharingUrlForFileWithTypeReadWrite

Test group: GetSharingUrlForFileWithUnknownType

Test group: GetSharingUrlForContainerWithTypeReadOnly

Test group: GetSharingUrlForContainerWithTypeReadWrite

Test group: GetSharingUrlForContainerWithUnknownType

Test group: AddActivities

Test group: ProofKeys
  Pass: ProofKeys.CurrentValid.OldValid
  Pass: ProofKeys.CurrentValid.OldInvalid
  Pass: ProofKeys.CurrentInvalid.OldValidSignedWithCurrentKey
  Pass: ProofKeys.CurrentValidSignedWithOldKey.OldInvalid
  Fail: ProofKeys.CurrentInvalid.OldValidSignedWithOldKey
    CheckFileInfo, response code: 200 OK
      Incorrect StatusCode. Expected: 500, Actual: 200
    Re-run command: .\wopivalidator.exe -n ProofKeys.CurrentInvalid.OldValidSignedWithOldKey -w http://wopiserver:8880/wopi/files/cdb05bf7-377c-4c82-9282-0f144e278cad!M2VmNmY2YjUtYWFhNi00NzU4LTgzZmYtOTQzN2NlNjVhZWI2 -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOiJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKaGRXUWlPaUp5WlhaaElpd2laWGh3SWpveE56QTRNRGMxTlRBMUxDSnBZWFFpT2pFM01EYzVPRGt4TURVc0ltbHpjeUk2SW1oMGRIQnpPaTh2YTJWNVkyeHZZV3N1YW5BdWMyOXNhV1JuWldGeUxuQnlkaTl5WldGc2JYTXZiME5KVXlJc0luVnpaWElpT25zaWFXUWlPbnNpYVdSd0lqb2lhSFIwY0hNNkx5OXJaWGxqYkc5aGF5NXFjQzV6YjJ4cFpHZGxZWEl1Y0hKMkwzSmxZV3h0Y3k5dlEwbFRJaXdpYjNCaGNYVmxYMmxrSWpvaVpUQTFPVGc0T1RFdE1EQTNOUzAwWm1WbUxUZzFPVE10WldJMU1EZ3hZMkppWVdVMklpd2lkSGx3WlNJNk1YMHNJblZ6WlhKdVlXMWxJam9pWVdSdGFXNGlMQ0p0WVdsc0lqb2lZV1J0YVc1QVpYaGhiWEJzWlM1dmNtY2lMQ0prYVhOd2JHRjVYMjVoYldVaU9pSkJaRzFwYmlCQlpHMXBiaUlzSW5WcFpGOXVkVzFpWlhJaU9qazVMQ0puYVdSZmJuVnRZbVZ5SWpvNU9YMHNJbk5qYjNCbElqcDdJblZ6WlhJaU9uc2ljbVZ6YjNWeVkyVWlPbnNpWkdWamIyUmxjaUk2SW1wemIyNGlMQ0oyWVd4MVpTSTZJbVY1U25kWldGSnZTV3B2YVV4NVNqa2lmU3dpY205c1pTSTZNWDE5ZlEuLVp5cFYtZF81UHVhQ2tKYjVEa2VEWjRZczF3LU1WTEEzNldTdi0wcmlURSIsIndvcGl1c2VyIjoiZTA1OTg4OTEtMDA3NS00ZmVmLTg1OTMtZWI1MDgxY2JiYWU2IWUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNkBodHRwczovL2tleWNsb2FrLmpwLnNvbGlkZ2Vhci5wcnYvcmVhbG1zL29DSVMiLCJ1c2VydHlwZSI6InJlZ3VsYXIiLCJmaWxlbmFtZSI6ImUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNi9OZXcgZmlsZS53b3BpdGVzdCIsImZpbGVpZCI6IjNlZjZmNmI1LWFhYTYtNDc1OC04M2ZmLTk0MzdjZTY1YWViNiIsInVzZXJuYW1lIjoiQWRtaW4gQWRtaW4iLCJ2aWV3bW9kZSI6IlZJRVdfTU9ERV9SRUFEX1dSSVRFIiwiZm9sZGVydXJsIjoiaHR0cHM6Ly9vY2lzLmpwLnNvbGlkZ2Vhci5wcnYvZi9jZGIwNWJmNy0zNzdjLTRjODItOTI4Mi0wZjE0NGUyNzhjYWQkZTA1OTg4OTEtMDA3NS00ZmVmLTg1OTMtZWI1MDgxY2JiYWU2ITNlZjZmNmI1LWFhYTYtNDc1OC04M2ZmLTk0MzdjZTY1YWViNiIsImVuZHBvaW50IjoiY2RiMDViZjctMzc3Yy00YzgyLTkyODItMGYxNDRlMjc4Y2FkJGUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNiIsImFwcG5hbWUiOiJPbmx5T2ZmaWNlIiwiYXBwZWRpdHVybCI6Imh0dHBzOi8vb25seW9mZmljZS5qcC5zb2xpZGdlYXIucHJ2L2hvc3Rpbmcvd29waS93b3JkL2VkaXQiLCJhcHB2aWV3dXJsIjoiaHR0cHM6Ly9vbmx5b2ZmaWNlLmpwLnNvbGlkZ2Vhci5wcnYvaG9zdGluZy93b3BpL3dvcmQvdmlldyIsInRyYWNlIjoiTi9BIiwiZXhwIjoxNzA4MDc1NTA1LCJpc3MiOiJjczNvcmc6d29waXNlcnZlcjoifQ.OAWpxelDmevHT36ZHnlIhqZMXiqtEF3TiVxeKVvH83U -l 99999999

  Fail: ProofKeys.CurrentInvalid.OldInvalid
    CheckFileInfo, response code: 200 OK
      Incorrect StatusCode. Expected: 500, Actual: 200
    Re-run command: .\wopivalidator.exe -n ProofKeys.CurrentInvalid.OldInvalid -w http://wopiserver:8880/wopi/files/cdb05bf7-377c-4c82-9282-0f144e278cad!M2VmNmY2YjUtYWFhNi00NzU4LTgzZmYtOTQzN2NlNjVhZWI2 -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOiJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKaGRXUWlPaUp5WlhaaElpd2laWGh3SWpveE56QTRNRGMxTlRBMUxDSnBZWFFpT2pFM01EYzVPRGt4TURVc0ltbHpjeUk2SW1oMGRIQnpPaTh2YTJWNVkyeHZZV3N1YW5BdWMyOXNhV1JuWldGeUxuQnlkaTl5WldGc2JYTXZiME5KVXlJc0luVnpaWElpT25zaWFXUWlPbnNpYVdSd0lqb2lhSFIwY0hNNkx5OXJaWGxqYkc5aGF5NXFjQzV6YjJ4cFpHZGxZWEl1Y0hKMkwzSmxZV3h0Y3k5dlEwbFRJaXdpYjNCaGNYVmxYMmxrSWpvaVpUQTFPVGc0T1RFdE1EQTNOUzAwWm1WbUxUZzFPVE10WldJMU1EZ3hZMkppWVdVMklpd2lkSGx3WlNJNk1YMHNJblZ6WlhKdVlXMWxJam9pWVdSdGFXNGlMQ0p0WVdsc0lqb2lZV1J0YVc1QVpYaGhiWEJzWlM1dmNtY2lMQ0prYVhOd2JHRjVYMjVoYldVaU9pSkJaRzFwYmlCQlpHMXBiaUlzSW5WcFpGOXVkVzFpWlhJaU9qazVMQ0puYVdSZmJuVnRZbVZ5SWpvNU9YMHNJbk5qYjNCbElqcDdJblZ6WlhJaU9uc2ljbVZ6YjNWeVkyVWlPbnNpWkdWamIyUmxjaUk2SW1wemIyNGlMQ0oyWVd4MVpTSTZJbVY1U25kWldGSnZTV3B2YVV4NVNqa2lmU3dpY205c1pTSTZNWDE5ZlEuLVp5cFYtZF81UHVhQ2tKYjVEa2VEWjRZczF3LU1WTEEzNldTdi0wcmlURSIsIndvcGl1c2VyIjoiZTA1OTg4OTEtMDA3NS00ZmVmLTg1OTMtZWI1MDgxY2JiYWU2IWUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNkBodHRwczovL2tleWNsb2FrLmpwLnNvbGlkZ2Vhci5wcnYvcmVhbG1zL29DSVMiLCJ1c2VydHlwZSI6InJlZ3VsYXIiLCJmaWxlbmFtZSI6ImUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNi9OZXcgZmlsZS53b3BpdGVzdCIsImZpbGVpZCI6IjNlZjZmNmI1LWFhYTYtNDc1OC04M2ZmLTk0MzdjZTY1YWViNiIsInVzZXJuYW1lIjoiQWRtaW4gQWRtaW4iLCJ2aWV3bW9kZSI6IlZJRVdfTU9ERV9SRUFEX1dSSVRFIiwiZm9sZGVydXJsIjoiaHR0cHM6Ly9vY2lzLmpwLnNvbGlkZ2Vhci5wcnYvZi9jZGIwNWJmNy0zNzdjLTRjODItOTI4Mi0wZjE0NGUyNzhjYWQkZTA1OTg4OTEtMDA3NS00ZmVmLTg1OTMtZWI1MDgxY2JiYWU2ITNlZjZmNmI1LWFhYTYtNDc1OC04M2ZmLTk0MzdjZTY1YWViNiIsImVuZHBvaW50IjoiY2RiMDViZjctMzc3Yy00YzgyLTkyODItMGYxNDRlMjc4Y2FkJGUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNiIsImFwcG5hbWUiOiJPbmx5T2ZmaWNlIiwiYXBwZWRpdHVybCI6Imh0dHBzOi8vb25seW9mZmljZS5qcC5zb2xpZGdlYXIucHJ2L2hvc3Rpbmcvd29waS93b3JkL2VkaXQiLCJhcHB2aWV3dXJsIjoiaHR0cHM6Ly9vbmx5b2ZmaWNlLmpwLnNvbGlkZ2Vhci5wcnYvaG9zdGluZy93b3BpL3dvcmQvdmlldyIsInRyYWNlIjoiTi9BIiwiZXhwIjoxNzA4MDc1NTA1LCJpc3MiOiJjczNvcmc6d29waXNlcnZlcjoifQ.OAWpxelDmevHT36ZHnlIhqZMXiqtEF3TiVxeKVvH83U -l 99999999

  Fail: ProofKeys.TimestampOlderThan20Min
    CheckFileInfo, response code: 200 OK
      Incorrect StatusCode. Expected: 500, Actual: 200
    Re-run command: .\wopivalidator.exe -n ProofKeys.TimestampOlderThan20Min -w http://wopiserver:8880/wopi/files/cdb05bf7-377c-4c82-9282-0f144e278cad!M2VmNmY2YjUtYWFhNi00NzU4LTgzZmYtOTQzN2NlNjVhZWI2 -t eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyaWQiOiJleUpoYkdjaU9pSklVekkxTmlJc0luUjVjQ0k2SWtwWFZDSjkuZXlKaGRXUWlPaUp5WlhaaElpd2laWGh3SWpveE56QTRNRGMxTlRBMUxDSnBZWFFpT2pFM01EYzVPRGt4TURVc0ltbHpjeUk2SW1oMGRIQnpPaTh2YTJWNVkyeHZZV3N1YW5BdWMyOXNhV1JuWldGeUxuQnlkaTl5WldGc2JYTXZiME5KVXlJc0luVnpaWElpT25zaWFXUWlPbnNpYVdSd0lqb2lhSFIwY0hNNkx5OXJaWGxqYkc5aGF5NXFjQzV6YjJ4cFpHZGxZWEl1Y0hKMkwzSmxZV3h0Y3k5dlEwbFRJaXdpYjNCaGNYVmxYMmxrSWpvaVpUQTFPVGc0T1RFdE1EQTNOUzAwWm1WbUxUZzFPVE10WldJMU1EZ3hZMkppWVdVMklpd2lkSGx3WlNJNk1YMHNJblZ6WlhKdVlXMWxJam9pWVdSdGFXNGlMQ0p0WVdsc0lqb2lZV1J0YVc1QVpYaGhiWEJzWlM1dmNtY2lMQ0prYVhOd2JHRjVYMjVoYldVaU9pSkJaRzFwYmlCQlpHMXBiaUlzSW5WcFpGOXVkVzFpWlhJaU9qazVMQ0puYVdSZmJuVnRZbVZ5SWpvNU9YMHNJbk5qYjNCbElqcDdJblZ6WlhJaU9uc2ljbVZ6YjNWeVkyVWlPbnNpWkdWamIyUmxjaUk2SW1wemIyNGlMQ0oyWVd4MVpTSTZJbVY1U25kWldGSnZTV3B2YVV4NVNqa2lmU3dpY205c1pTSTZNWDE5ZlEuLVp5cFYtZF81UHVhQ2tKYjVEa2VEWjRZczF3LU1WTEEzNldTdi0wcmlURSIsIndvcGl1c2VyIjoiZTA1OTg4OTEtMDA3NS00ZmVmLTg1OTMtZWI1MDgxY2JiYWU2IWUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNkBodHRwczovL2tleWNsb2FrLmpwLnNvbGlkZ2Vhci5wcnYvcmVhbG1zL29DSVMiLCJ1c2VydHlwZSI6InJlZ3VsYXIiLCJmaWxlbmFtZSI6ImUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNi9OZXcgZmlsZS53b3BpdGVzdCIsImZpbGVpZCI6IjNlZjZmNmI1LWFhYTYtNDc1OC04M2ZmLTk0MzdjZTY1YWViNiIsInVzZXJuYW1lIjoiQWRtaW4gQWRtaW4iLCJ2aWV3bW9kZSI6IlZJRVdfTU9ERV9SRUFEX1dSSVRFIiwiZm9sZGVydXJsIjoiaHR0cHM6Ly9vY2lzLmpwLnNvbGlkZ2Vhci5wcnYvZi9jZGIwNWJmNy0zNzdjLTRjODItOTI4Mi0wZjE0NGUyNzhjYWQkZTA1OTg4OTEtMDA3NS00ZmVmLTg1OTMtZWI1MDgxY2JiYWU2ITNlZjZmNmI1LWFhYTYtNDc1OC04M2ZmLTk0MzdjZTY1YWViNiIsImVuZHBvaW50IjoiY2RiMDViZjctMzc3Yy00YzgyLTkyODItMGYxNDRlMjc4Y2FkJGUwNTk4ODkxLTAwNzUtNGZlZi04NTkzLWViNTA4MWNiYmFlNiIsImFwcG5hbWUiOiJPbmx5T2ZmaWNlIiwiYXBwZWRpdHVybCI6Imh0dHBzOi8vb25seW9mZmljZS5qcC5zb2xpZGdlYXIucHJ2L2hvc3Rpbmcvd29waS93b3JkL2VkaXQiLCJhcHB2aWV3dXJsIjoiaHR0cHM6Ly9vbmx5b2ZmaWNlLmpwLnNvbGlkZ2Vhci5wcnYvaG9zdGluZy93b3BpL3dvcmQvdmlldyIsInRyYWNlIjoiTi9BIiwiZXhwIjoxNzA4MDc1NTA1LCJpc3MiOiJjczNvcmc6d29waXNlcnZlcjoifQ.OAWpxelDmevHT36ZHnlIhqZMXiqtEF3TiVxeKVvH83U -l 99999999


Test group: CoauthLocks

Test group: IncrementalFileTransferErrorCases

Test group: IncrementalFileTransferWithFullFileChunkingScheme

Test group: IncrementalFileTransferWithZipChunkingScheme

Test group: RenameFileWithCoauthLockSupported

Test group: CoauthLockExpiration
  All tests skipped: CoauthLockExpiration uses delay.

Apparently, the lock tests pass running the validator, so maybe the tests don't cover that scenario?

@glpatcern
Copy link
Member Author

Hi @jvillafanez, interesting input. It's very possible that the wopi validator does not cover this case, meaning that Microsoft does not test the case where a lock is owned by another application. The case for "us" (CERNBox), likely applicable to OCIS as well, is for files being accessed directly, not through OCIS.

For info, the case is covered by the wopiserver unit test suite, though it may require a bit more tinkering to make it run: it is run by the CI only against local interface, not against a cs3 storage, which is what you'd test with the config you used for the wopi validator run.

@glpatcern
Copy link
Member Author

For the record, I can pass the full wopiserver test suite with the referenced PR, including the case that the wopivalidator does not cover. Therefore I'm going ahead and merging it.

Also, following discussions in cs3org/cs3apis#226, Reva edge should be covered by external modifications, and the PR here helps raising a more meaningful error.

Anyway, I understand that @jvillafanez is busy with the wopi implementation embedded in OCIS, so you're likely not going to spend further time with the cs3 wopiserver test suite. Am I right?

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 a pull request may close this issue.

5 participants