From 886b0a6373c107228f802a1a0a0d1cb036fb9581 Mon Sep 17 00:00:00 2001 From: wess Date: Thu, 10 Mar 2022 12:31:51 -0500 Subject: [PATCH 01/34] Adds oauth for Etsy --- .phpunit.result.cache | 1 + src/Appwrite/Auth/OAuth2/etsy.php | 210 ++++++++++++++++++++++++++++++ 2 files changed, 211 insertions(+) create mode 100644 .phpunit.result.cache create mode 100644 src/Appwrite/Auth/OAuth2/etsy.php diff --git a/.phpunit.result.cache b/.phpunit.result.cache new file mode 100644 index 000000000..c331d9721 --- /dev/null +++ b/.phpunit.result.cache @@ -0,0 +1 @@ +{"version":1,"defects":{"Appwrite\\Tests\\ComposeTest::testVersion":4,"Appwrite\\Tests\\ComposeTest::testServices":4,"Appwrite\\Tests\\ComposeTest::testNetworks":4,"Appwrite\\Tests\\ComposeTest::testVolumes":4,"Appwrite\\Tests\\EventTest::testParams":4,"Appwrite\\Tests\\ExtensionsTest::testPHPRedis":3,"Appwrite\\Tests\\ExtensionsTest::testSwoole":3,"Appwrite\\Tests\\ExtensionsTest::testYAML":3,"Appwrite\\Tests\\ExtensionsTest::testImagick":3,"Appwrite\\Tests\\ExtensionsTest::testMaxminddb":3,"Appwrite\\Tests\\ResponseTest::testSetFilter":4,"Tests\\E2E\\General\\HTTPTest::testOptions":4,"Tests\\E2E\\General\\HTTPTest::testError":4,"Tests\\E2E\\General\\HTTPTest::testManifest":4,"Tests\\E2E\\General\\HTTPTest::testHumans":4,"Tests\\E2E\\General\\HTTPTest::testRobots":4,"Tests\\E2E\\General\\HTTPTest::testSpecOpenAPI3":4,"Tests\\E2E\\General\\HTTPTest::testResponseHeader":4,"Tests\\E2E\\General\\HTTPTest::testVersions":4,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccount":4,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccountSession":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccount":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccountPrefs":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccountSessions":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccountLogs":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountName":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountPassword":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountEmail":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountPrefs":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccountVerification":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountVerification":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testDeleteAccountSession":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testDeleteAccountSessionCurrent":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testDeleteAccountSessions":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccountRecovery":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountRecovery":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateMagicUrl":4,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateSessionWithMagicUrl":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testBlockedAccount":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateJWT":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAnonymousAccount":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAnonymousAccountPassword":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAnonymousAccountEmail":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testConvertAnonymousAccount":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testConvertAnonymousAccountOAuth2":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetSessionByID":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccount":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccountSession":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateOAuth2AccountSession":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccount":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccountPrefs":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccountSessions":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccountLogs":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountName":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountPassword":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountEmail":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountPrefs":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccountVerification":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountVerification":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testDeleteAccountSession":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testDeleteAccountSessionCurrent":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testDeleteAccountSessions":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccountRecovery":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountRecovery":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateMagicUrl":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateSessionWithMagicUrl":1,"Tests\\E2E\\Services\\Account\\AccountCustomServerTest::testCreateAccount":4,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testAttributes":4,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testIndexes":1,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testDeleteIndex":1,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testDeleteAttribute":1,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testConnection":4,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testConnectionFailureMissingChannels":4,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testConnectionFailureUnknownProject":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelParsing":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testManualAuthentication":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnectionPlatform":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelAccount":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelDatabase":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelDatabaseCollectionPermissions":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelFiles":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelExecutions":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelTeams":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelMemberships":1,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnection":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnectionFailureMissingChannels":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnectionFailureUnknownProject":4,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetCreditCard":4,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetBrowser":4,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetFlag":4,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetImage":4,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetFavicon":4,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetQR":4,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetInitials":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetCreditCard":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetBrowser":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetFlag":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetImage":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetFavicon":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetQR":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetInitials":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetCreditCard":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetBrowser":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetFlag":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetImage":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetFavicon":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetQR":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetInitials":4,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testCreateCollection":4,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testGetDatabaseUsage":4,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testGetCollectionUsage":1,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testGetCollectionLogs":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateCollection":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDisableCollection":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateAttributes":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testAttributeResponseModels":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateIndexes":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocuments":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testGetDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocumentsAfterPagination":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocumentsBeforePagination":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocumentsLimitAndOffset":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDocumentsListQueries":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testUpdateDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDeleteDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testInvalidDocumentStructure":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDefaultPermissions":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testEnforceCollectionPermissions":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testUniqueIndexDuplicate":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListCollections":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteAttribute":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteIndex":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteIndexOnDeleteAttribute":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCleanupDuplicateIndexOnDeleteAttribute":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteCollection":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testAttributeRowWidthLimit":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testIndexLimitException":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateCollection":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDisableCollection":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateAttributes":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testAttributeResponseModels":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateIndexes":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocuments":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testGetDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocumentsAfterPagination":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocumentsBeforePagination":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocumentsLimitAndOffset":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDocumentsListQueries":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testUpdateDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testInvalidDocumentStructure":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDefaultPermissions":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testEnforceCollectionPermissions":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testUniqueIndexDuplicate":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #0":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #1":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #2":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #3":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #4":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #5":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testSetupDatabase":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #0":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #1":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #2":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #3":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #4":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #5":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #6":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #7":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #8":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #9":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testSetupDatabase":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #0":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #1":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #2":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #3":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #4":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #5":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #0":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #1":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #2":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #3":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #4":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #5":1,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testHTTPSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testDBSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testCacheSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testTimeSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testWebhooksSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testLogsSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testUsageSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testCertificatesSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testStorageLocalSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testStorageAntiVirusSuccess":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetLocale":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCountries":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCountriesEU":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCountriesPhones":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetContinents":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCurrencies":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetLanguages":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testLanguages":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetLocale":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCountries":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCountriesEU":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCountriesPhones":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetContinents":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCurrencies":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetLanguages":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testLanguages":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetLocale":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCountries":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCountriesEU":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCountriesPhones":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetContinents":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCurrencies":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetLanguages":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testLanguages":4,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProject":4,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProject":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProject":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectUsage":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProject":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectOAuth":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectAuthStatus":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectAuthLimit":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectServiceStatusAdmin":4,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectServiceStatus":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectWebhook":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectWebhook":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectWebhook":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectWebhook":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectWebhook":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectKey":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectKey":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectKey":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectKey":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectKey":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectPlatform":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectPlatform":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectPlatform":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectPlatform":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectPlatform":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectDomain":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectDomain":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectDomain":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectDomain":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectDomain":1,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testGetStorageUsage":4,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testGetStorageBucketUsage":4,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testCreateFile":4,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testGetFile":1,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testListFiles":1,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testUpdateFile":1,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testDeleteFile":1,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testCreateFileDefaultPermissions":4,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testCreateFileAbusePermissions":4,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testUpdateFileAbusePermissions":1,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testCreateFile":4,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testGetFile":1,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testListFiles":1,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testUpdateFile":1,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testDeleteFile":1,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testCreateFile":4,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testGetFile":1,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testListFiles":1,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testUpdateFile":1,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testDeleteFile":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testRequestHeader":4,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testCreateTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testGetTeam":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testListTeams":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testUpdateTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testDeleteTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testGetTeamMemberships":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testCreateTeamMembership":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testListTeamMemberships":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testUpdateTeamMembership":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testUpdateTeamMembershipRoles":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testDeleteTeamMembership":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testCreateTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testGetTeam":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testListTeams":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testUpdateTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testDeleteTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testGetTeamMemberships":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testCreateTeamMembership":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testListTeamMemberships":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testUpdateTeamMembership":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testUpdateTeamMembershipRoles":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testDeleteTeamMembership":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testCreateTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testGetTeam":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testListTeams":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testUpdateTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testDeleteTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testGetTeamMemberships":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testCreateTeamMembership":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testUpdateMembershipRoles":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testDeleteUserUpdatesTeamMembershipCount":1,"Tests\\E2E\\Services\\Users\\UsersConsoleClientTest::testGetUsersUsage":4,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testDeprecatedUsers":4,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testCreateUser":4,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testListUsers":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testGetUser":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserName":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserEmail":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserPassword":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserStatus":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateEmailVerification":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateAndGetUserPrefs":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testGetLogs":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testDeleteUser":1,"Tests\\E2E\\Services\\Workers\\WebhooksTest::testCreateProject":4,"Tests\\E2E\\Services\\Workers\\WebhooksTest::testCreateWebhook":1,"Tests\\E2E\\Services\\Workers\\WebhooksTest::testCreateAccount":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccount":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteAccount":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccountSession":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteAccountSession":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteAccountSessions":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountName":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountPassword":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountEmail":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountPrefs":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccountRecovery":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountRecovery":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccountVerification":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountVerification":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateCollection":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAttributes":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateDocument":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateDocument":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteDocument":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateFile":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateFile":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteFile":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateTeam":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateTeam":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteTeam":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateTeamMembership":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateTeamMembership":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteTeamMembership":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteCollection":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateUser":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateUserPrefs":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateUserStatus":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteUser":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateFunction":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateFunction":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateTag":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateTag":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testExecutions":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteTag":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteFunction":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateCollection":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateAttributes":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateCollection":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateDeleteIndexes":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateDocument":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateDocument":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteDocument":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateFile":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateFile":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteFile":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateTeam":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateTeam":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteTeam":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateTeamMembership":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteTeamMembership":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreate":4,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testList":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGet":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testUpdate":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreateTag":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testUpdateTag":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testListTags":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGetTag":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreateExecution":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testListExecutions":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGetExecution":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testDeleteTag":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testDelete":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testTimeout":4,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreateCustomExecution":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGetRuntimes":4,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreate":4,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreateExecution":4,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreateCustomExecution":4,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreateExecutionUnauthorized":4,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testListExecutions":1},"times":{"Appwrite\\Tests\\AuthTest::testCookieName":0.001,"Appwrite\\Tests\\AuthTest::testEncodeDecodeSession":0,"Appwrite\\Tests\\AuthTest::testHash":0,"Appwrite\\Tests\\AuthTest::testPassword":0.048,"Appwrite\\Tests\\AuthTest::testPasswordGenerator":0,"Appwrite\\Tests\\AuthTest::testTokenGenerator":0,"Appwrite\\Tests\\AuthTest::testSessionVerify":0,"Appwrite\\Tests\\AuthTest::testTokenVerify":0,"Appwrite\\Tests\\AuthTest::testIsPrivilegedUser":0,"Appwrite\\Tests\\AuthTest::testIsAppUser":0,"Appwrite\\Tests\\AuthTest::testGuestRoles":0,"Appwrite\\Tests\\AuthTest::testUserRoles":0,"Appwrite\\Tests\\AuthTest::testPrivilegedUserRoles":0,"Appwrite\\Tests\\AuthTest::testAppUserRoles":0,"Appwrite\\Tests\\PasswordTest::testValues":0,"Appwrite\\Tests\\CustomIdTest::testValues":0,"Appwrite\\Tests\\KeyTest::testValues":0,"Appwrite\\Tests\\UIDTest::testValues":0,"Appwrite\\Tests\\DetectorTest::testGetOS":0.149,"Appwrite\\Tests\\DetectorTest::testGetClient":0.002,"Appwrite\\Tests\\DetectorTest::testGetDevice":0.002,"Appwrite\\Tests\\ComposeTest::testVersion":0.001,"Appwrite\\Tests\\ComposeTest::testServices":0,"Appwrite\\Tests\\ComposeTest::testNetworks":0,"Appwrite\\Tests\\ComposeTest::testVolumes":0,"Appwrite\\Tests\\EnvTest::testVars":0,"Appwrite\\Tests\\EnvTest::testExport":0,"Appwrite\\Tests\\EventTest::testQueue":0.001,"Appwrite\\Tests\\EventTest::testClass":0,"Appwrite\\Tests\\EventTest::testParams":0.035,"Appwrite\\Tests\\EventTest::testReset":0,"Appwrite\\Tests\\CollectionsTest::testDuplicateRules":0.002,"Appwrite\\Tests\\ExtensionsTest::testPHPRedis":0,"Appwrite\\Tests\\ExtensionsTest::testSwoole":0,"Appwrite\\Tests\\ExtensionsTest::testYAML":0,"Appwrite\\Tests\\ExtensionsTest::testOPCache":0,"Appwrite\\Tests\\ExtensionsTest::testDOM":0,"Appwrite\\Tests\\ExtensionsTest::testPDO":0,"Appwrite\\Tests\\ExtensionsTest::testImagick":0,"Appwrite\\Tests\\ExtensionsTest::testJSON":0,"Appwrite\\Tests\\ExtensionsTest::testCURL":0,"Appwrite\\Tests\\ExtensionsTest::testMBString":0,"Appwrite\\Tests\\ExtensionsTest::testOPENSSL":0,"Appwrite\\Tests\\ExtensionsTest::testZLIB":0,"Appwrite\\Tests\\ExtensionsTest::testSockets":0,"Appwrite\\Tests\\ExtensionsTest::testMaxminddb":0,"Appwrite\\Tests\\MessagingChannelsTest::testSubscriptions":0.001,"Appwrite\\Tests\\MessagingChannelsTest::testWildcardPermission":0.001,"Appwrite\\Tests\\MessagingChannelsTest::testRolePermissions":0.001,"Appwrite\\Tests\\MessagingChannelsTest::testUserPermissions":0.001,"Appwrite\\Tests\\MessagingChannelsTest::testTeamPermissions":0.001,"Appwrite\\Tests\\MessagingGuestTest::testGuest":0,"Appwrite\\Tests\\MessagingTest::testUser":0,"Appwrite\\Tests\\MessagingTest::testConvertChannelsGuest":0,"Appwrite\\Tests\\MessagingTest::testConvertChannelsUser":0,"Appwrite\\Tests\\MessagingTest::testFromPayloadCollectionLevelPermissions":0,"Appwrite\\Tests\\MigrationV05Test::testMigration":0.004,"Appwrite\\Tests\\MigrationV05Test::testMigrationVersions":0.014,"Appwrite\\Tests\\MigrationV06Test::testMigration":0.001,"Appwrite\\Tests\\MigrationV06Test::testMigrationVersions":0,"Appwrite\\Tests\\MigrationV07Test::testMigration":0,"Appwrite\\Tests\\MigrationV07Test::testMigrationVersions":0,"Appwrite\\Tests\\MigrationV08Test::testMigration":0,"Appwrite\\Tests\\MigrationV08Test::testMigrationVersions":0,"Appwrite\\Tests\\MigrationV09Test::testMigration":0,"Appwrite\\Tests\\MigrationV09Test::testMigrationVersions":0,"Appwrite\\Tests\\MigrationV10Test::testMigration":0,"Appwrite\\Tests\\MigrationV10Test::testMigrationVersions":0,"Appwrite\\Tests\\CNAMETest::testValues":0.144,"Appwrite\\Tests\\DomainTest::testIsValid":0,"Appwrite\\Network\\Validator\\EmailTest::testIsValid":0.002,"Appwrite\\Network\\Validator\\HostTest::testIsValid":0,"Appwrite\\Network\\Validator\\IPTest::testIsValidIP":0,"Appwrite\\Network\\Validator\\IPTest::testIsValidIPALL":0,"Appwrite\\Network\\Validator\\IPTest::testIsValidIPV4":0,"Appwrite\\Network\\Validator\\IPTest::testIsValidIPV6":0,"Appwrite\\Tests\\OriginTest::testValues":0,"Appwrite\\Network\\Validator\\URLTest::testIsValid":0,"Appwrite\\Tests\\OpenSSLTest::testEncryptionAndDecryption":0,"Appwrite\\Tests\\StatsTest::testNamespace":0.001,"Appwrite\\Tests\\StatsTest::testParams":0.045,"Appwrite\\Tests\\StatsTest::testReset":0,"Appwrite\\Tests\\CronTest::testValues":0.002,"Appwrite\\Tests\\TemplateTest::testRender":0.001,"Appwrite\\Tests\\TemplateTest::testParseURL":0,"Appwrite\\Tests\\TemplateTest::testUnParseURL":0,"Appwrite\\Tests\\TemplateTest::testMergeQuery":0,"Appwrite\\Tests\\TemplateTest::testFromCamelCaseToSnake":0,"Appwrite\\Tests\\TemplateTest::testFromCamelCaseToDash":0,"Appwrite\\Tests\\URLTest::testParse":0,"Appwrite\\Tests\\URLTest::testUnparse":0,"Appwrite\\Tests\\URLTest::testParseQuery":0,"Appwrite\\Tests\\URLTest::testUnParseQuery":0,"Appwrite\\Tests\\V06Test::testParseUser":0.001,"Appwrite\\Tests\\V06Test::testParseUserList":0,"Appwrite\\Tests\\V06Test::testParseSession":0,"Appwrite\\Tests\\V06Test::testParseSessionList":0,"Appwrite\\Tests\\V06Test::testParseLogList":0,"Appwrite\\Tests\\V06Test::testParseTeam":0,"Appwrite\\Tests\\V06Test::testParseTeamList":0,"Appwrite\\Tests\\V06Test::testParseToken":0,"Appwrite\\Tests\\V06Test::testParseLocale":0,"Appwrite\\Tests\\V06Test::testParseCountryList":0,"Appwrite\\Tests\\V06Test::testParsePhoneList":0,"Appwrite\\Tests\\V06Test::testParseContinentList":0,"Appwrite\\Tests\\V06Test::testParseCurrencyList":0,"Appwrite\\Tests\\V06Test::testParseFile":0,"Appwrite\\Tests\\V06Test::testParseCollection":0,"Appwrite\\Tests\\V06Test::testParseCollectionList":0,"Appwrite\\Tests\\ResponseTest::testSetFilter":0,"Tests\\E2E\\General\\HTTPTest::testOptions":0.006,"Tests\\E2E\\General\\HTTPTest::testError":0,"Tests\\E2E\\General\\HTTPTest::testManifest":0,"Tests\\E2E\\General\\HTTPTest::testHumans":0.001,"Tests\\E2E\\General\\HTTPTest::testRobots":0.001,"Tests\\E2E\\General\\HTTPTest::testSpecOpenAPI3":0,"Tests\\E2E\\General\\HTTPTest::testResponseHeader":0,"Tests\\E2E\\General\\HTTPTest::testVersions":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccount":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccountSession":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccount":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccountPrefs":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccountSessions":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccountLogs":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountName":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountPassword":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountEmail":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountPrefs":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccountVerification":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountVerification":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testDeleteAccountSession":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testDeleteAccountSessionCurrent":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testDeleteAccountSessions":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccountRecovery":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountRecovery":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateMagicUrl":0.001,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateSessionWithMagicUrl":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testBlockedAccount":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateJWT":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAnonymousAccount":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAnonymousAccountPassword":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAnonymousAccountEmail":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testConvertAnonymousAccount":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testConvertAnonymousAccountOAuth2":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetSessionByID":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccount":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccountSession":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateOAuth2AccountSession":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccount":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccountPrefs":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccountSessions":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccountLogs":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountName":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountPassword":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountEmail":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountPrefs":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccountVerification":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountVerification":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testDeleteAccountSession":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testDeleteAccountSessionCurrent":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testDeleteAccountSessions":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccountRecovery":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountRecovery":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateMagicUrl":0.001,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateSessionWithMagicUrl":0,"Tests\\E2E\\Services\\Account\\AccountCustomServerTest::testCreateAccount":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testAttributes":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testIndexes":0,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testDeleteIndex":0,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testDeleteAttribute":0,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testConnection":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testConnectionFailureMissingChannels":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testConnectionFailureUnknownProject":0.037,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelParsing":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testManualAuthentication":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnectionPlatform":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelAccount":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelDatabase":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelDatabaseCollectionPermissions":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelFiles":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelExecutions":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelTeams":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelMemberships":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnection":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnectionFailureMissingChannels":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnectionFailureUnknownProject":0.002,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetCreditCard":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetBrowser":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetFlag":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetImage":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetFavicon":0,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetQR":0,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetInitials":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetCreditCard":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetBrowser":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetFlag":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetImage":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetFavicon":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetQR":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetInitials":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetCreditCard":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetBrowser":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetFlag":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetImage":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetFavicon":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetQR":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetInitials":0,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testCreateCollection":0,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testGetDatabaseUsage":0.001,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testGetCollectionUsage":0,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testGetCollectionLogs":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateCollection":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDisableCollection":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateAttributes":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testAttributeResponseModels":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateIndexes":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocuments":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testGetDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocumentsAfterPagination":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocumentsBeforePagination":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocumentsLimitAndOffset":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDocumentsListQueries":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testUpdateDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDeleteDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testInvalidDocumentStructure":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDefaultPermissions":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testEnforceCollectionPermissions":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testUniqueIndexDuplicate":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListCollections":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteAttribute":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteIndex":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteIndexOnDeleteAttribute":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCleanupDuplicateIndexOnDeleteAttribute":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteCollection":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testAttributeRowWidthLimit":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testIndexLimitException":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateCollection":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDisableCollection":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateAttributes":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testAttributeResponseModels":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateIndexes":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocuments":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testGetDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocumentsAfterPagination":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocumentsBeforePagination":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocumentsLimitAndOffset":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDocumentsListQueries":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testUpdateDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testInvalidDocumentStructure":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDefaultPermissions":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testEnforceCollectionPermissions":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testUniqueIndexDuplicate":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #0":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #1":0.001,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #2":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #3":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #4":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #5":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testSetupDatabase":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #0":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #1":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #2":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #3":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #4":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #5":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #6":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #7":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #8":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #9":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testSetupDatabase":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #0":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #1":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #2":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #3":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #4":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #5":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #0":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #1":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #2":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #3":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #4":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #5":0,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testHTTPSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testDBSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testCacheSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testTimeSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testWebhooksSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testLogsSuccess":0,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testUsageSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testCertificatesSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testStorageLocalSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testStorageAntiVirusSuccess":0.001,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetLocale":0.001,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCountries":0.001,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCountriesEU":0.001,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCountriesPhones":0.001,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetContinents":0,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCurrencies":0,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetLanguages":0,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testLanguages":0.001,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetLocale":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCountries":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCountriesEU":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCountriesPhones":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetContinents":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCurrencies":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetLanguages":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testLanguages":0.001,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetLocale":0.001,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCountries":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCountriesEU":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCountriesPhones":0.001,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetContinents":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCurrencies":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetLanguages":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testLanguages":0.001,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProject":0.001,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProject":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProject":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectUsage":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProject":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectOAuth":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectAuthStatus":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectAuthLimit":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectServiceStatusAdmin":0.001,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectServiceStatus":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectWebhook":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectWebhook":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectWebhook":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectWebhook":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectWebhook":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectKey":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectKey":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectKey":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectKey":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectKey":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectPlatform":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectPlatform":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectPlatform":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectPlatform":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectPlatform":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectDomain":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectDomain":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectDomain":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectDomain":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectDomain":0,"Tests\\E2E\\Services\\Projects\\ProjectsCustomClientTest::testMock":0,"Tests\\E2E\\Services\\Projects\\ProjectsCustomServerTest::testMock":0,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testGetStorageUsage":0,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testGetStorageBucketUsage":0,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testCreateFile":0,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testGetFile":0,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testListFiles":0,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testUpdateFile":0,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testDeleteFile":0,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testCreateFileDefaultPermissions":0.001,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testCreateFileAbusePermissions":0.001,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testUpdateFileAbusePermissions":0,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testCreateFile":0,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testGetFile":0,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testListFiles":0,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testUpdateFile":0,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testDeleteFile":0,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testCreateFile":0.001,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testGetFile":0,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testListFiles":0,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testUpdateFile":0,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testDeleteFile":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testRequestHeader":0.001,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testCreateTeam":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testGetTeam":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testListTeams":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testUpdateTeam":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testDeleteTeam":0.001,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testGetTeamMemberships":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testCreateTeamMembership":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testListTeamMemberships":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testUpdateTeamMembership":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testUpdateTeamMembershipRoles":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testDeleteTeamMembership":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testCreateTeam":0.001,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testGetTeam":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testListTeams":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testUpdateTeam":0.001,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testDeleteTeam":0.001,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testGetTeamMemberships":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testCreateTeamMembership":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testListTeamMemberships":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testUpdateTeamMembership":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testUpdateTeamMembershipRoles":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testDeleteTeamMembership":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testCreateTeam":0.001,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testGetTeam":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testListTeams":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testUpdateTeam":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testDeleteTeam":0.001,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testGetTeamMemberships":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testCreateTeamMembership":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testUpdateMembershipRoles":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testDeleteUserUpdatesTeamMembershipCount":0,"Tests\\E2E\\Services\\Users\\UsersConsoleClientTest::testGetUsersUsage":0.001,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testDeprecatedUsers":0.001,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testCreateUser":0.001,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testListUsers":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testGetUser":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserName":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserEmail":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserPassword":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserStatus":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateEmailVerification":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateAndGetUserPrefs":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testGetLogs":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testDeleteUser":0,"Tests\\E2E\\Services\\Workers\\WebhooksTest::testCreateProject":0.001,"Tests\\E2E\\Services\\Workers\\WebhooksTest::testCreateWebhook":0,"Tests\\E2E\\Services\\Workers\\WebhooksTest::testCreateAccount":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccount":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteAccount":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccountSession":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteAccountSession":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteAccountSessions":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountName":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountPassword":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountEmail":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountPrefs":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccountRecovery":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountRecovery":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccountVerification":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountVerification":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateCollection":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAttributes":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateDocument":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateDocument":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteDocument":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateFile":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateFile":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteFile":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateTeam":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateTeam":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteTeam":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateTeamMembership":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateTeamMembership":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteTeamMembership":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteCollection":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateUser":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateUserPrefs":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateUserStatus":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteUser":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateFunction":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateFunction":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateTag":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateTag":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testExecutions":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteTag":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteFunction":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateCollection":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateAttributes":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateCollection":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateDeleteIndexes":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateDocument":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateDocument":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteDocument":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateFile":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateFile":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteFile":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateTeam":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateTeam":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteTeam":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateTeamMembership":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteTeamMembership":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreate":0.001,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testList":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGet":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testUpdate":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreateTag":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testUpdateTag":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testListTags":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGetTag":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreateExecution":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testListExecutions":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGetExecution":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testDeleteTag":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testDelete":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testTimeout":0.001,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreateCustomExecution":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGetRuntimes":0.001,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreate":0.001,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreateExecution":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreateCustomExecution":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreateExecutionUnauthorized":0.001,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testListExecutions":0}} \ No newline at end of file diff --git a/src/Appwrite/Auth/OAuth2/etsy.php b/src/Appwrite/Auth/OAuth2/etsy.php new file mode 100644 index 000000000..63b3ea072 --- /dev/null +++ b/src/Appwrite/Auth/OAuth2/etsy.php @@ -0,0 +1,210 @@ +pkce)) { + $this->pkce = \bin2hex(\random_bytes(rand(43, 128))); + } + + return $this->pkce; + } + + /** + * @return string + */ + public function getName():string + { + return 'notion'; + } + + /** + * @return string + */ + public function getLoginURL():string + { + return 'https://www.etsy.com/oauth/connect/oauth/authorize?'. \http_build_query([ + 'client_id' => $this->appID, + 'redirect_uri' => $this->callback, + 'response_type' => 'code', + 'state' => \json_encode($this->state), + 'scope' => $this->scopes, + 'code_challenge' => $this->getPKCE(), + 'code_challenge_method' => 'S256', + ]); + } + + /** + * @param string $code + * + * @return array + */ + protected function getTokens(string $code): array + { + if(empty($this->tokens)) { + $headers = ['Content-Type: application/x-www-form-urlencoded']; + + $this->tokens = \json_decode($this->request( + 'POST', + $this->endpoint . '/oauth/token', + $headers, + \http_build_query([ + 'grant_type' => 'authorization_code', + 'client_id' => $this->appID, + 'redirect_uri' => $this->callback, + 'code' => $code, + 'code_verifier' => $this->getPKCE(), + ]) + ), true); + } + + return $this->tokens; + } + + /** + * @param string $refreshToken + * + * @return array + */ + public function refreshTokens(string $refreshToken):array + { + $headers = ['Content-Type: application/x-www-form-urlencoded']; + + $this->tokens = \json_decode($this->request( + 'POST', + $this->endpoint . '/oauth/token', + $headers, + \http_build_query([ + 'grant_type' => 'refresh_token', + 'client_id' => $this->appID, + 'refresh_token' => $refreshToken, + ]) + ), true); + + if(empty($this->tokens['refresh_token'])) { + $this->tokens['refresh_token'] = $refreshToken; + } + + return $this->tokens; + } + + /** + * @param $accessToken + * + * @return string + */ + public function getUserID(string $accessToken):string + { + $response = $this->getUser($accessToken); + + if (isset($response['bot']['owner']['user']['id'])) { + return $response['bot']['owner']['user']['id']; + } + + return ''; + } + + /** + * @param $accessToken + * + * @return string + */ + public function getUserEmail(string $accessToken):string + { + $response = $this->getUser($accessToken); + + if(isset($response['bot']['owner']['user']['person']['email'])){ + return $response['bot']['owner']['user']['person']['email']; + } + + return ''; + } + + /** + * @param $accessToken + * + * @return string + */ + public function getUserName(string $accessToken):string + { + $response = $this->getUser($accessToken); + + if (isset($response['bot']['owner']['user']['name'])) { + return $response['bot']['owner']['user']['name']; + } + + return ''; + } + + /** + * @param string $accessToken + * + * @return array + */ + protected function getUser(string $accessToken) + { + $headers = [ + 'Notion-Version: ' . $this->version, + 'Authorization: Bearer '.\urlencode($accessToken) + ]; + + if (empty($this->user)) { + $this->user = \json_decode($this->request('GET', $this->endpoint . '/users/me', $headers), true); + } + + return $this->user; + } +} From 5d5a7b88e0f9921d875fa6057ddfd81c37ab119a Mon Sep 17 00:00:00 2001 From: wess Date: Thu, 10 Mar 2022 12:58:35 -0500 Subject: [PATCH 02/34] Etsy logo added --- public/images/users/etsy.png | Bin 0 -> 5731 bytes src/Appwrite/Auth/OAuth2/etsy.php | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 public/images/users/etsy.png diff --git a/public/images/users/etsy.png b/public/images/users/etsy.png new file mode 100644 index 0000000000000000000000000000000000000000..ac038ec97e0b368273ec8417289da774a250b3c1 GIT binary patch literal 5731 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 literal 0 HcmV?d00001 diff --git a/src/Appwrite/Auth/OAuth2/etsy.php b/src/Appwrite/Auth/OAuth2/etsy.php index 63b3ea072..73e13c6df 100644 --- a/src/Appwrite/Auth/OAuth2/etsy.php +++ b/src/Appwrite/Auth/OAuth2/etsy.php @@ -68,7 +68,7 @@ class Notion extends OAuth2 */ public function getName():string { - return 'notion'; + return 'etsy'; } /** @@ -96,7 +96,7 @@ class Notion extends OAuth2 { if(empty($this->tokens)) { $headers = ['Content-Type: application/x-www-form-urlencoded']; - + $this->tokens = \json_decode($this->request( 'POST', $this->endpoint . '/oauth/token', From 7d66e995c361955517c56e19c69c5db599b6e5f3 Mon Sep 17 00:00:00 2001 From: wess Date: Fri, 11 Mar 2022 09:09:48 -0500 Subject: [PATCH 03/34] getUser and related, temp, respond empty --- src/Appwrite/Auth/OAuth2/etsy.php | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/src/Appwrite/Auth/OAuth2/etsy.php b/src/Appwrite/Auth/OAuth2/etsy.php index 73e13c6df..82b3ce2c7 100644 --- a/src/Appwrite/Auth/OAuth2/etsy.php +++ b/src/Appwrite/Auth/OAuth2/etsy.php @@ -164,12 +164,6 @@ class Notion extends OAuth2 */ public function getUserEmail(string $accessToken):string { - $response = $this->getUser($accessToken); - - if(isset($response['bot']['owner']['user']['person']['email'])){ - return $response['bot']['owner']['user']['person']['email']; - } - return ''; } @@ -180,12 +174,6 @@ class Notion extends OAuth2 */ public function getUserName(string $accessToken):string { - $response = $this->getUser($accessToken); - - if (isset($response['bot']['owner']['user']['name'])) { - return $response['bot']['owner']['user']['name']; - } - return ''; } @@ -196,15 +184,6 @@ class Notion extends OAuth2 */ protected function getUser(string $accessToken) { - $headers = [ - 'Notion-Version: ' . $this->version, - 'Authorization: Bearer '.\urlencode($accessToken) - ]; - - if (empty($this->user)) { - $this->user = \json_decode($this->request('GET', $this->endpoint . '/users/me', $headers), true); - } - return $this->user; } } From dea874e36e71521e57a6b32434669209539f0c19 Mon Sep 17 00:00:00 2001 From: wess Date: Fri, 8 Jul 2022 10:41:12 -0400 Subject: [PATCH 04/34] Adds retreiving user info for user name and email --- src/Appwrite/Auth/OAuth2/etsy.php | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/Appwrite/Auth/OAuth2/etsy.php b/src/Appwrite/Auth/OAuth2/etsy.php index 82b3ce2c7..7fe0267c2 100644 --- a/src/Appwrite/Auth/OAuth2/etsy.php +++ b/src/Appwrite/Auth/OAuth2/etsy.php @@ -148,13 +148,9 @@ class Notion extends OAuth2 */ public function getUserID(string $accessToken):string { - $response = $this->getUser($accessToken); + $components = explode('.', $accessToken); - if (isset($response['bot']['owner']['user']['id'])) { - return $response['bot']['owner']['user']['id']; - } - - return ''; + return $components[0]; } /** @@ -164,7 +160,7 @@ class Notion extends OAuth2 */ public function getUserEmail(string $accessToken):string { - return ''; + return $this->getUser($accessToken)['primary_email']; } /** @@ -174,7 +170,7 @@ class Notion extends OAuth2 */ public function getUserName(string $accessToken):string { - return ''; + return $this->getUser($accessToken)['login_name']; } /** @@ -184,6 +180,17 @@ class Notion extends OAuth2 */ protected function getUser(string $accessToken) { + if(!empty($this->user)) { return $this->user; + } + + $headers = ['Authorization: Bearer ' . $accessToken]; + + $this->user = \json_decode($this->request( + 'GET', + 'https://api.etsy.com/v3/application/users/' . $this->getUserID($accessToken), + ), true); + + return $this->user; } } From c20d05ba451a731adc996983508f476071a6b9d3 Mon Sep 17 00:00:00 2001 From: wess Date: Fri, 8 Jul 2022 10:47:52 -0400 Subject: [PATCH 05/34] Linter run --- src/Appwrite/Auth/OAuth2/etsy.php | 58 +++++++++++++++---------------- 1 file changed, 29 insertions(+), 29 deletions(-) diff --git a/src/Appwrite/Auth/OAuth2/etsy.php b/src/Appwrite/Auth/OAuth2/etsy.php index 7fe0267c2..7b89b6027 100644 --- a/src/Appwrite/Auth/OAuth2/etsy.php +++ b/src/Appwrite/Auth/OAuth2/etsy.php @@ -30,26 +30,26 @@ class Notion extends OAuth2 * @var array */ protected $scopes = [ - "address_r", - "address_w", - "billing_r", - "cart_r", - "cart_w", - "email_r", - "favorites_r", - "favorites_w", - "feedback_r", - "listings_d", - "listings_r", - "listings_w", - "profile_r", - "profile_w", - "recommend_r", - "recommend_w", - "shops_r", - "shops_w", - "transactions_r", - "transactions_w", + "address_r", + "address_w", + "billing_r", + "cart_r", + "cart_w", + "email_r", + "favorites_r", + "favorites_w", + "feedback_r", + "listings_d", + "listings_r", + "listings_w", + "profile_r", + "profile_w", + "recommend_r", + "recommend_w", + "shops_r", + "shops_w", + "transactions_r", + "transactions_w", ]; private $pkce = ''; @@ -180,17 +180,17 @@ class Notion extends OAuth2 */ protected function getUser(string $accessToken) { - if(!empty($this->user)) { - return $this->user; - } + if(!empty($this->user)) { + return $this->user; + } - $headers = ['Authorization: Bearer ' . $accessToken]; + $headers = ['Authorization: Bearer ' . $accessToken]; - $this->user = \json_decode($this->request( - 'GET', - 'https://api.etsy.com/v3/application/users/' . $this->getUserID($accessToken), - ), true); + $this->user = \json_decode($this->request( + 'GET', + 'https://api.etsy.com/v3/application/users/' . $this->getUserID($accessToken), + ), true); - return $this->user; + return $this->user; } } From 195e276e4b4bbe47edda26f3732c73b7e52906ba Mon Sep 17 00:00:00 2001 From: wess Date: Thu, 14 Jul 2022 10:30:30 -0400 Subject: [PATCH 06/34] Updates gitignore to add .phpunit.result.cache --- .gitignore | 1 + .phpunit.result.cache | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 .phpunit.result.cache diff --git a/.gitignore b/.gitignore index 3d6001ca0..a0e910f79 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,4 @@ debug/ app/sdks dev/yasd_init.php +.phpunit.result.cache diff --git a/.phpunit.result.cache b/.phpunit.result.cache deleted file mode 100644 index c331d9721..000000000 --- a/.phpunit.result.cache +++ /dev/null @@ -1 +0,0 @@ -{"version":1,"defects":{"Appwrite\\Tests\\ComposeTest::testVersion":4,"Appwrite\\Tests\\ComposeTest::testServices":4,"Appwrite\\Tests\\ComposeTest::testNetworks":4,"Appwrite\\Tests\\ComposeTest::testVolumes":4,"Appwrite\\Tests\\EventTest::testParams":4,"Appwrite\\Tests\\ExtensionsTest::testPHPRedis":3,"Appwrite\\Tests\\ExtensionsTest::testSwoole":3,"Appwrite\\Tests\\ExtensionsTest::testYAML":3,"Appwrite\\Tests\\ExtensionsTest::testImagick":3,"Appwrite\\Tests\\ExtensionsTest::testMaxminddb":3,"Appwrite\\Tests\\ResponseTest::testSetFilter":4,"Tests\\E2E\\General\\HTTPTest::testOptions":4,"Tests\\E2E\\General\\HTTPTest::testError":4,"Tests\\E2E\\General\\HTTPTest::testManifest":4,"Tests\\E2E\\General\\HTTPTest::testHumans":4,"Tests\\E2E\\General\\HTTPTest::testRobots":4,"Tests\\E2E\\General\\HTTPTest::testSpecOpenAPI3":4,"Tests\\E2E\\General\\HTTPTest::testResponseHeader":4,"Tests\\E2E\\General\\HTTPTest::testVersions":4,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccount":4,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccountSession":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccount":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccountPrefs":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccountSessions":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccountLogs":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountName":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountPassword":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountEmail":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountPrefs":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccountVerification":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountVerification":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testDeleteAccountSession":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testDeleteAccountSessionCurrent":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testDeleteAccountSessions":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccountRecovery":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountRecovery":1,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateMagicUrl":4,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateSessionWithMagicUrl":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testBlockedAccount":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateJWT":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAnonymousAccount":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAnonymousAccountPassword":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAnonymousAccountEmail":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testConvertAnonymousAccount":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testConvertAnonymousAccountOAuth2":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetSessionByID":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccount":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccountSession":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateOAuth2AccountSession":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccount":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccountPrefs":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccountSessions":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccountLogs":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountName":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountPassword":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountEmail":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountPrefs":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccountVerification":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountVerification":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testDeleteAccountSession":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testDeleteAccountSessionCurrent":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testDeleteAccountSessions":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccountRecovery":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountRecovery":1,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateMagicUrl":4,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateSessionWithMagicUrl":1,"Tests\\E2E\\Services\\Account\\AccountCustomServerTest::testCreateAccount":4,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testAttributes":4,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testIndexes":1,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testDeleteIndex":1,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testDeleteAttribute":1,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testConnection":4,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testConnectionFailureMissingChannels":4,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testConnectionFailureUnknownProject":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelParsing":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testManualAuthentication":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnectionPlatform":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelAccount":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelDatabase":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelDatabaseCollectionPermissions":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelFiles":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelExecutions":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelTeams":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelMemberships":1,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnection":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnectionFailureMissingChannels":4,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnectionFailureUnknownProject":4,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetCreditCard":4,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetBrowser":4,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetFlag":4,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetImage":4,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetFavicon":4,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetQR":4,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetInitials":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetCreditCard":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetBrowser":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetFlag":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetImage":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetFavicon":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetQR":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetInitials":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetCreditCard":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetBrowser":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetFlag":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetImage":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetFavicon":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetQR":4,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetInitials":4,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testCreateCollection":4,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testGetDatabaseUsage":4,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testGetCollectionUsage":1,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testGetCollectionLogs":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateCollection":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDisableCollection":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateAttributes":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testAttributeResponseModels":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateIndexes":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocuments":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testGetDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocumentsAfterPagination":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocumentsBeforePagination":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocumentsLimitAndOffset":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDocumentsListQueries":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testUpdateDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDeleteDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testInvalidDocumentStructure":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDefaultPermissions":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testEnforceCollectionPermissions":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testUniqueIndexDuplicate":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListCollections":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteAttribute":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteIndex":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteIndexOnDeleteAttribute":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCleanupDuplicateIndexOnDeleteAttribute":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteCollection":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testAttributeRowWidthLimit":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testIndexLimitException":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateCollection":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDisableCollection":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateAttributes":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testAttributeResponseModels":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateIndexes":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocuments":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testGetDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocumentsAfterPagination":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocumentsBeforePagination":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocumentsLimitAndOffset":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDocumentsListQueries":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testUpdateDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteDocument":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testInvalidDocumentStructure":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDefaultPermissions":1,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testEnforceCollectionPermissions":4,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testUniqueIndexDuplicate":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #0":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #1":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #2":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #3":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #4":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #5":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testSetupDatabase":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #0":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #1":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #2":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #3":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #4":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #5":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #6":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #7":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #8":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #9":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testSetupDatabase":4,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #0":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #1":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #2":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #3":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #4":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #5":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #0":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #1":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #2":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #3":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #4":1,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #5":1,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testHTTPSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testDBSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testCacheSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testTimeSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testWebhooksSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testLogsSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testUsageSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testCertificatesSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testStorageLocalSuccess":4,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testStorageAntiVirusSuccess":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetLocale":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCountries":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCountriesEU":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCountriesPhones":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetContinents":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCurrencies":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetLanguages":4,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testLanguages":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetLocale":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCountries":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCountriesEU":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCountriesPhones":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetContinents":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCurrencies":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetLanguages":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testLanguages":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetLocale":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCountries":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCountriesEU":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCountriesPhones":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetContinents":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCurrencies":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetLanguages":4,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testLanguages":4,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProject":4,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProject":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProject":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectUsage":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProject":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectOAuth":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectAuthStatus":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectAuthLimit":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectServiceStatusAdmin":4,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectServiceStatus":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectWebhook":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectWebhook":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectWebhook":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectWebhook":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectWebhook":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectKey":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectKey":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectKey":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectKey":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectKey":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectPlatform":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectPlatform":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectPlatform":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectPlatform":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectPlatform":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectDomain":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectDomain":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectDomain":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectDomain":1,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectDomain":1,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testGetStorageUsage":4,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testGetStorageBucketUsage":4,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testCreateFile":4,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testGetFile":1,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testListFiles":1,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testUpdateFile":1,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testDeleteFile":1,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testCreateFileDefaultPermissions":4,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testCreateFileAbusePermissions":4,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testUpdateFileAbusePermissions":1,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testCreateFile":4,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testGetFile":1,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testListFiles":1,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testUpdateFile":1,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testDeleteFile":1,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testCreateFile":4,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testGetFile":1,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testListFiles":1,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testUpdateFile":1,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testDeleteFile":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testRequestHeader":4,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testCreateTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testGetTeam":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testListTeams":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testUpdateTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testDeleteTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testGetTeamMemberships":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testCreateTeamMembership":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testListTeamMemberships":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testUpdateTeamMembership":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testUpdateTeamMembershipRoles":1,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testDeleteTeamMembership":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testCreateTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testGetTeam":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testListTeams":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testUpdateTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testDeleteTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testGetTeamMemberships":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testCreateTeamMembership":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testListTeamMemberships":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testUpdateTeamMembership":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testUpdateTeamMembershipRoles":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testDeleteTeamMembership":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testCreateTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testGetTeam":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testListTeams":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testUpdateTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testDeleteTeam":4,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testGetTeamMemberships":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testCreateTeamMembership":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testUpdateMembershipRoles":1,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testDeleteUserUpdatesTeamMembershipCount":1,"Tests\\E2E\\Services\\Users\\UsersConsoleClientTest::testGetUsersUsage":4,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testDeprecatedUsers":4,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testCreateUser":4,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testListUsers":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testGetUser":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserName":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserEmail":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserPassword":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserStatus":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateEmailVerification":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateAndGetUserPrefs":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testGetLogs":1,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testDeleteUser":1,"Tests\\E2E\\Services\\Workers\\WebhooksTest::testCreateProject":4,"Tests\\E2E\\Services\\Workers\\WebhooksTest::testCreateWebhook":1,"Tests\\E2E\\Services\\Workers\\WebhooksTest::testCreateAccount":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccount":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteAccount":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccountSession":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteAccountSession":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteAccountSessions":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountName":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountPassword":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountEmail":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountPrefs":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccountRecovery":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountRecovery":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccountVerification":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountVerification":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateCollection":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAttributes":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateDocument":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateDocument":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteDocument":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateFile":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateFile":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteFile":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateTeam":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateTeam":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteTeam":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateTeamMembership":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateTeamMembership":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteTeamMembership":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteCollection":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateUser":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateUserPrefs":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateUserStatus":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteUser":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateFunction":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateFunction":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateTag":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateTag":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testExecutions":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteTag":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteFunction":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateCollection":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateAttributes":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateCollection":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateDeleteIndexes":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateDocument":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateDocument":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteDocument":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateFile":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateFile":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteFile":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateTeam":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateTeam":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteTeam":4,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateTeamMembership":1,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteTeamMembership":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreate":4,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testList":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGet":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testUpdate":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreateTag":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testUpdateTag":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testListTags":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGetTag":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreateExecution":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testListExecutions":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGetExecution":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testDeleteTag":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testDelete":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testTimeout":4,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreateCustomExecution":1,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGetRuntimes":4,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreate":4,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreateExecution":4,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreateCustomExecution":4,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreateExecutionUnauthorized":4,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testListExecutions":1},"times":{"Appwrite\\Tests\\AuthTest::testCookieName":0.001,"Appwrite\\Tests\\AuthTest::testEncodeDecodeSession":0,"Appwrite\\Tests\\AuthTest::testHash":0,"Appwrite\\Tests\\AuthTest::testPassword":0.048,"Appwrite\\Tests\\AuthTest::testPasswordGenerator":0,"Appwrite\\Tests\\AuthTest::testTokenGenerator":0,"Appwrite\\Tests\\AuthTest::testSessionVerify":0,"Appwrite\\Tests\\AuthTest::testTokenVerify":0,"Appwrite\\Tests\\AuthTest::testIsPrivilegedUser":0,"Appwrite\\Tests\\AuthTest::testIsAppUser":0,"Appwrite\\Tests\\AuthTest::testGuestRoles":0,"Appwrite\\Tests\\AuthTest::testUserRoles":0,"Appwrite\\Tests\\AuthTest::testPrivilegedUserRoles":0,"Appwrite\\Tests\\AuthTest::testAppUserRoles":0,"Appwrite\\Tests\\PasswordTest::testValues":0,"Appwrite\\Tests\\CustomIdTest::testValues":0,"Appwrite\\Tests\\KeyTest::testValues":0,"Appwrite\\Tests\\UIDTest::testValues":0,"Appwrite\\Tests\\DetectorTest::testGetOS":0.149,"Appwrite\\Tests\\DetectorTest::testGetClient":0.002,"Appwrite\\Tests\\DetectorTest::testGetDevice":0.002,"Appwrite\\Tests\\ComposeTest::testVersion":0.001,"Appwrite\\Tests\\ComposeTest::testServices":0,"Appwrite\\Tests\\ComposeTest::testNetworks":0,"Appwrite\\Tests\\ComposeTest::testVolumes":0,"Appwrite\\Tests\\EnvTest::testVars":0,"Appwrite\\Tests\\EnvTest::testExport":0,"Appwrite\\Tests\\EventTest::testQueue":0.001,"Appwrite\\Tests\\EventTest::testClass":0,"Appwrite\\Tests\\EventTest::testParams":0.035,"Appwrite\\Tests\\EventTest::testReset":0,"Appwrite\\Tests\\CollectionsTest::testDuplicateRules":0.002,"Appwrite\\Tests\\ExtensionsTest::testPHPRedis":0,"Appwrite\\Tests\\ExtensionsTest::testSwoole":0,"Appwrite\\Tests\\ExtensionsTest::testYAML":0,"Appwrite\\Tests\\ExtensionsTest::testOPCache":0,"Appwrite\\Tests\\ExtensionsTest::testDOM":0,"Appwrite\\Tests\\ExtensionsTest::testPDO":0,"Appwrite\\Tests\\ExtensionsTest::testImagick":0,"Appwrite\\Tests\\ExtensionsTest::testJSON":0,"Appwrite\\Tests\\ExtensionsTest::testCURL":0,"Appwrite\\Tests\\ExtensionsTest::testMBString":0,"Appwrite\\Tests\\ExtensionsTest::testOPENSSL":0,"Appwrite\\Tests\\ExtensionsTest::testZLIB":0,"Appwrite\\Tests\\ExtensionsTest::testSockets":0,"Appwrite\\Tests\\ExtensionsTest::testMaxminddb":0,"Appwrite\\Tests\\MessagingChannelsTest::testSubscriptions":0.001,"Appwrite\\Tests\\MessagingChannelsTest::testWildcardPermission":0.001,"Appwrite\\Tests\\MessagingChannelsTest::testRolePermissions":0.001,"Appwrite\\Tests\\MessagingChannelsTest::testUserPermissions":0.001,"Appwrite\\Tests\\MessagingChannelsTest::testTeamPermissions":0.001,"Appwrite\\Tests\\MessagingGuestTest::testGuest":0,"Appwrite\\Tests\\MessagingTest::testUser":0,"Appwrite\\Tests\\MessagingTest::testConvertChannelsGuest":0,"Appwrite\\Tests\\MessagingTest::testConvertChannelsUser":0,"Appwrite\\Tests\\MessagingTest::testFromPayloadCollectionLevelPermissions":0,"Appwrite\\Tests\\MigrationV05Test::testMigration":0.004,"Appwrite\\Tests\\MigrationV05Test::testMigrationVersions":0.014,"Appwrite\\Tests\\MigrationV06Test::testMigration":0.001,"Appwrite\\Tests\\MigrationV06Test::testMigrationVersions":0,"Appwrite\\Tests\\MigrationV07Test::testMigration":0,"Appwrite\\Tests\\MigrationV07Test::testMigrationVersions":0,"Appwrite\\Tests\\MigrationV08Test::testMigration":0,"Appwrite\\Tests\\MigrationV08Test::testMigrationVersions":0,"Appwrite\\Tests\\MigrationV09Test::testMigration":0,"Appwrite\\Tests\\MigrationV09Test::testMigrationVersions":0,"Appwrite\\Tests\\MigrationV10Test::testMigration":0,"Appwrite\\Tests\\MigrationV10Test::testMigrationVersions":0,"Appwrite\\Tests\\CNAMETest::testValues":0.144,"Appwrite\\Tests\\DomainTest::testIsValid":0,"Appwrite\\Network\\Validator\\EmailTest::testIsValid":0.002,"Appwrite\\Network\\Validator\\HostTest::testIsValid":0,"Appwrite\\Network\\Validator\\IPTest::testIsValidIP":0,"Appwrite\\Network\\Validator\\IPTest::testIsValidIPALL":0,"Appwrite\\Network\\Validator\\IPTest::testIsValidIPV4":0,"Appwrite\\Network\\Validator\\IPTest::testIsValidIPV6":0,"Appwrite\\Tests\\OriginTest::testValues":0,"Appwrite\\Network\\Validator\\URLTest::testIsValid":0,"Appwrite\\Tests\\OpenSSLTest::testEncryptionAndDecryption":0,"Appwrite\\Tests\\StatsTest::testNamespace":0.001,"Appwrite\\Tests\\StatsTest::testParams":0.045,"Appwrite\\Tests\\StatsTest::testReset":0,"Appwrite\\Tests\\CronTest::testValues":0.002,"Appwrite\\Tests\\TemplateTest::testRender":0.001,"Appwrite\\Tests\\TemplateTest::testParseURL":0,"Appwrite\\Tests\\TemplateTest::testUnParseURL":0,"Appwrite\\Tests\\TemplateTest::testMergeQuery":0,"Appwrite\\Tests\\TemplateTest::testFromCamelCaseToSnake":0,"Appwrite\\Tests\\TemplateTest::testFromCamelCaseToDash":0,"Appwrite\\Tests\\URLTest::testParse":0,"Appwrite\\Tests\\URLTest::testUnparse":0,"Appwrite\\Tests\\URLTest::testParseQuery":0,"Appwrite\\Tests\\URLTest::testUnParseQuery":0,"Appwrite\\Tests\\V06Test::testParseUser":0.001,"Appwrite\\Tests\\V06Test::testParseUserList":0,"Appwrite\\Tests\\V06Test::testParseSession":0,"Appwrite\\Tests\\V06Test::testParseSessionList":0,"Appwrite\\Tests\\V06Test::testParseLogList":0,"Appwrite\\Tests\\V06Test::testParseTeam":0,"Appwrite\\Tests\\V06Test::testParseTeamList":0,"Appwrite\\Tests\\V06Test::testParseToken":0,"Appwrite\\Tests\\V06Test::testParseLocale":0,"Appwrite\\Tests\\V06Test::testParseCountryList":0,"Appwrite\\Tests\\V06Test::testParsePhoneList":0,"Appwrite\\Tests\\V06Test::testParseContinentList":0,"Appwrite\\Tests\\V06Test::testParseCurrencyList":0,"Appwrite\\Tests\\V06Test::testParseFile":0,"Appwrite\\Tests\\V06Test::testParseCollection":0,"Appwrite\\Tests\\V06Test::testParseCollectionList":0,"Appwrite\\Tests\\ResponseTest::testSetFilter":0,"Tests\\E2E\\General\\HTTPTest::testOptions":0.006,"Tests\\E2E\\General\\HTTPTest::testError":0,"Tests\\E2E\\General\\HTTPTest::testManifest":0,"Tests\\E2E\\General\\HTTPTest::testHumans":0.001,"Tests\\E2E\\General\\HTTPTest::testRobots":0.001,"Tests\\E2E\\General\\HTTPTest::testSpecOpenAPI3":0,"Tests\\E2E\\General\\HTTPTest::testResponseHeader":0,"Tests\\E2E\\General\\HTTPTest::testVersions":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccount":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccountSession":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccount":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccountPrefs":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccountSessions":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testGetAccountLogs":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountName":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountPassword":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountEmail":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountPrefs":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccountVerification":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountVerification":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testDeleteAccountSession":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testDeleteAccountSessionCurrent":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testDeleteAccountSessions":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateAccountRecovery":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testUpdateAccountRecovery":0,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateMagicUrl":0.001,"Tests\\E2E\\Services\\Account\\AccountConsoleClientTest::testCreateSessionWithMagicUrl":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testBlockedAccount":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateJWT":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAnonymousAccount":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAnonymousAccountPassword":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAnonymousAccountEmail":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testConvertAnonymousAccount":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testConvertAnonymousAccountOAuth2":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetSessionByID":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccount":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccountSession":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateOAuth2AccountSession":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccount":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccountPrefs":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccountSessions":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testGetAccountLogs":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountName":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountPassword":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountEmail":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountPrefs":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccountVerification":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountVerification":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testDeleteAccountSession":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testDeleteAccountSessionCurrent":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testDeleteAccountSessions":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateAccountRecovery":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testUpdateAccountRecovery":0,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateMagicUrl":0.001,"Tests\\E2E\\Services\\Account\\AccountCustomClientTest::testCreateSessionWithMagicUrl":0,"Tests\\E2E\\Services\\Account\\AccountCustomServerTest::testCreateAccount":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testAttributes":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testIndexes":0,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testDeleteIndex":0,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testDeleteAttribute":0,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testConnection":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testConnectionFailureMissingChannels":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeConsoleClientTest::testConnectionFailureUnknownProject":0.037,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelParsing":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testManualAuthentication":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnectionPlatform":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelAccount":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelDatabase":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelDatabaseCollectionPermissions":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelFiles":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelExecutions":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelTeams":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testChannelMemberships":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnection":0.001,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnectionFailureMissingChannels":0,"Tests\\E2E\\Services\\Realtime\\RealtimeCustomClientTest::testConnectionFailureUnknownProject":0.002,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetCreditCard":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetBrowser":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetFlag":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetImage":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetFavicon":0,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetQR":0,"Tests\\E2E\\Services\\Avatars\\AvatarsConsoleClientTest::testGetInitials":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetCreditCard":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetBrowser":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetFlag":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetImage":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetFavicon":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetQR":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomClientTest::testGetInitials":0.001,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetCreditCard":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetBrowser":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetFlag":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetImage":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetFavicon":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetQR":0,"Tests\\E2E\\Services\\Avatars\\AvatarsCustomServerTest::testGetInitials":0,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testCreateCollection":0,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testGetDatabaseUsage":0.001,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testGetCollectionUsage":0,"Tests\\E2E\\Services\\Database\\DatabaseConsoleClientTest::testGetCollectionLogs":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateCollection":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDisableCollection":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateAttributes":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testAttributeResponseModels":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateIndexes":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testCreateDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocuments":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testGetDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocumentsAfterPagination":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocumentsBeforePagination":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testListDocumentsLimitAndOffset":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDocumentsListQueries":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testUpdateDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDeleteDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testInvalidDocumentStructure":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testDefaultPermissions":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testEnforceCollectionPermissions":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomClientTest::testUniqueIndexDuplicate":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListCollections":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteAttribute":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteIndex":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteIndexOnDeleteAttribute":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCleanupDuplicateIndexOnDeleteAttribute":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteCollection":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testAttributeRowWidthLimit":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testIndexLimitException":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateCollection":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDisableCollection":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateAttributes":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testAttributeResponseModels":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateIndexes":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testCreateDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocuments":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testGetDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocumentsAfterPagination":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocumentsBeforePagination":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testListDocumentsLimitAndOffset":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDocumentsListQueries":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testUpdateDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDeleteDocument":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testInvalidDocumentStructure":0.001,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testDefaultPermissions":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testEnforceCollectionPermissions":0,"Tests\\E2E\\Services\\Database\\DatabaseCustomServerTest::testUniqueIndexDuplicate":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #0":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #1":0.001,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #2":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #3":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #4":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsGuestTest::testReadDocuments with data set #5":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testSetupDatabase":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #0":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #1":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #2":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #3":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #4":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #5":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #6":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #7":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #8":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsMemberTest::testReadDocuments with data set #9":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testSetupDatabase":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #0":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #1":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #2":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #3":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #4":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testReadDocuments with data set #5":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #0":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #1":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #2":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #3":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #4":0,"Tests\\E2E\\Services\\Database\\DatabasePermissionsTeamTest::testWriteDocuments with data set #5":0,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testHTTPSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testDBSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testCacheSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testTimeSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testWebhooksSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testLogsSuccess":0,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testUsageSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testCertificatesSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testStorageLocalSuccess":0.001,"Tests\\E2E\\Services\\Health\\HealthCustomServerTest::testStorageAntiVirusSuccess":0.001,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetLocale":0.001,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCountries":0.001,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCountriesEU":0.001,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCountriesPhones":0.001,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetContinents":0,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetCurrencies":0,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testGetLanguages":0,"Tests\\E2E\\Services\\Locale\\LocaleConsoleClientTest::testLanguages":0.001,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetLocale":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCountries":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCountriesEU":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCountriesPhones":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetContinents":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetCurrencies":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testGetLanguages":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomClientTest::testLanguages":0.001,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetLocale":0.001,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCountries":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCountriesEU":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCountriesPhones":0.001,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetContinents":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetCurrencies":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testGetLanguages":0,"Tests\\E2E\\Services\\Locale\\LocaleCustomServerTest::testLanguages":0.001,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProject":0.001,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProject":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProject":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectUsage":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProject":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectOAuth":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectAuthStatus":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectAuthLimit":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectServiceStatusAdmin":0.001,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectServiceStatus":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectWebhook":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectWebhook":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectWebhook":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectWebhook":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectWebhook":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectKey":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectKey":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectKey":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectKey":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectKey":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectPlatform":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectPlatform":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectPlatform":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectPlatform":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectPlatform":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testCreateProjectDomain":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testListProjectDomain":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testGetProjectDomain":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testUpdateProjectDomain":0,"Tests\\E2E\\Services\\Projects\\ProjectsConsoleClientTest::testDeleteProjectDomain":0,"Tests\\E2E\\Services\\Projects\\ProjectsCustomClientTest::testMock":0,"Tests\\E2E\\Services\\Projects\\ProjectsCustomServerTest::testMock":0,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testGetStorageUsage":0,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testGetStorageBucketUsage":0,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testCreateFile":0,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testGetFile":0,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testListFiles":0,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testUpdateFile":0,"Tests\\E2E\\Services\\Storage\\StorageConsoleClientTest::testDeleteFile":0,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testCreateFileDefaultPermissions":0.001,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testCreateFileAbusePermissions":0.001,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testUpdateFileAbusePermissions":0,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testCreateFile":0,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testGetFile":0,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testListFiles":0,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testUpdateFile":0,"Tests\\E2E\\Services\\Storage\\StorageCustomClientTest::testDeleteFile":0,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testCreateFile":0.001,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testGetFile":0,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testListFiles":0,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testUpdateFile":0,"Tests\\E2E\\Services\\Storage\\StorageCustomServerTest::testDeleteFile":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testRequestHeader":0.001,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testCreateTeam":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testGetTeam":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testListTeams":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testUpdateTeam":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testDeleteTeam":0.001,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testGetTeamMemberships":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testCreateTeamMembership":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testListTeamMemberships":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testUpdateTeamMembership":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testUpdateTeamMembershipRoles":0,"Tests\\E2E\\Services\\Teams\\TeamsConsoleClientTest::testDeleteTeamMembership":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testCreateTeam":0.001,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testGetTeam":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testListTeams":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testUpdateTeam":0.001,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testDeleteTeam":0.001,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testGetTeamMemberships":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testCreateTeamMembership":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testListTeamMemberships":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testUpdateTeamMembership":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testUpdateTeamMembershipRoles":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomClientTest::testDeleteTeamMembership":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testCreateTeam":0.001,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testGetTeam":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testListTeams":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testUpdateTeam":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testDeleteTeam":0.001,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testGetTeamMemberships":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testCreateTeamMembership":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testUpdateMembershipRoles":0,"Tests\\E2E\\Services\\Teams\\TeamsCustomServerTest::testDeleteUserUpdatesTeamMembershipCount":0,"Tests\\E2E\\Services\\Users\\UsersConsoleClientTest::testGetUsersUsage":0.001,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testDeprecatedUsers":0.001,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testCreateUser":0.001,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testListUsers":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testGetUser":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserName":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserEmail":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserPassword":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateUserStatus":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateEmailVerification":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testUpdateAndGetUserPrefs":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testGetLogs":0,"Tests\\E2E\\Services\\Users\\UsersCustomServerTest::testDeleteUser":0,"Tests\\E2E\\Services\\Workers\\WebhooksTest::testCreateProject":0.001,"Tests\\E2E\\Services\\Workers\\WebhooksTest::testCreateWebhook":0,"Tests\\E2E\\Services\\Workers\\WebhooksTest::testCreateAccount":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccount":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteAccount":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccountSession":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteAccountSession":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteAccountSessions":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountName":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountPassword":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountEmail":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountPrefs":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccountRecovery":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountRecovery":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAccountVerification":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateAccountVerification":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateCollection":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateAttributes":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateDocument":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateDocument":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteDocument":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateFile":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateFile":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteFile":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateTeam":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateTeam":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteTeam":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testCreateTeamMembership":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testUpdateTeamMembership":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomClientTest::testDeleteTeamMembership":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteCollection":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateUser":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateUserPrefs":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateUserStatus":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteUser":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateFunction":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateFunction":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateTag":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateTag":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testExecutions":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteTag":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteFunction":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateCollection":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateAttributes":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateCollection":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateDeleteIndexes":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateDocument":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateDocument":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteDocument":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateFile":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateFile":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteFile":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateTeam":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testUpdateTeam":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteTeam":0.001,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testCreateTeamMembership":0,"Tests\\E2E\\Services\\Webhooks\\WebhooksCustomServerTest::testDeleteTeamMembership":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreate":0.001,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testList":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGet":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testUpdate":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreateTag":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testUpdateTag":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testListTags":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGetTag":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreateExecution":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testListExecutions":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGetExecution":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testDeleteTag":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testDelete":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testTimeout":0.001,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testCreateCustomExecution":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomServerTest::testGetRuntimes":0.001,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreate":0.001,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreateExecution":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreateCustomExecution":0,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testCreateExecutionUnauthorized":0.001,"Tests\\E2E\\Services\\Functions\\FunctionsCustomClientTest::testListExecutions":0}} \ No newline at end of file From efbde82ca20dfd3745178831190668bdc4d5c0b5 Mon Sep 17 00:00:00 2001 From: wess Date: Thu, 14 Jul 2022 11:06:27 -0400 Subject: [PATCH 07/34] Fixed lint issues, YOU'RE WELCOME TORSTEN --- src/Appwrite/Auth/OAuth2/etsy.php | 34 +++++++++++++++---------------- 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/src/Appwrite/Auth/OAuth2/etsy.php b/src/Appwrite/Auth/OAuth2/etsy.php index 7b89b6027..fa5d553ab 100644 --- a/src/Appwrite/Auth/OAuth2/etsy.php +++ b/src/Appwrite/Auth/OAuth2/etsy.php @@ -20,7 +20,7 @@ class Notion extends OAuth2 * @var array */ protected $user = []; - + /** * @var array */ @@ -49,14 +49,14 @@ class Notion extends OAuth2 "shops_r", "shops_w", "transactions_r", - "transactions_w", + "transactions_w", ]; private $pkce = ''; private function getPKCE() { - if(empty($this->pkce)) { + if (empty($this->pkce)) { $this->pkce = \bin2hex(\random_bytes(rand(43, 128))); } @@ -66,7 +66,7 @@ class Notion extends OAuth2 /** * @return string */ - public function getName():string + public function getName(): string { return 'etsy'; } @@ -74,9 +74,9 @@ class Notion extends OAuth2 /** * @return string */ - public function getLoginURL():string + public function getLoginURL(): string { - return 'https://www.etsy.com/oauth/connect/oauth/authorize?'. \http_build_query([ + return 'https://www.etsy.com/oauth/connect/oauth/authorize?' . \http_build_query([ 'client_id' => $this->appID, 'redirect_uri' => $this->callback, 'response_type' => 'code', @@ -94,7 +94,7 @@ class Notion extends OAuth2 */ protected function getTokens(string $code): array { - if(empty($this->tokens)) { + if (empty($this->tokens)) { $headers = ['Content-Type: application/x-www-form-urlencoded']; $this->tokens = \json_decode($this->request( @@ -119,7 +119,7 @@ class Notion extends OAuth2 * * @return array */ - public function refreshTokens(string $refreshToken):array + public function refreshTokens(string $refreshToken): array { $headers = ['Content-Type: application/x-www-form-urlencoded']; @@ -134,7 +134,7 @@ class Notion extends OAuth2 ]) ), true); - if(empty($this->tokens['refresh_token'])) { + if (empty($this->tokens['refresh_token'])) { $this->tokens['refresh_token'] = $refreshToken; } @@ -146,7 +146,7 @@ class Notion extends OAuth2 * * @return string */ - public function getUserID(string $accessToken):string + public function getUserID(string $accessToken): string { $components = explode('.', $accessToken); @@ -158,7 +158,7 @@ class Notion extends OAuth2 * * @return string */ - public function getUserEmail(string $accessToken):string + public function getUserEmail(string $accessToken): string { return $this->getUser($accessToken)['primary_email']; } @@ -168,7 +168,7 @@ class Notion extends OAuth2 * * @return string */ - public function getUserName(string $accessToken):string + public function getUserName(string $accessToken): string { return $this->getUser($accessToken)['login_name']; } @@ -180,15 +180,15 @@ class Notion extends OAuth2 */ protected function getUser(string $accessToken) { - if(!empty($this->user)) { - return $this->user; + if (!empty($this->user)) { + return $this->user; } $headers = ['Authorization: Bearer ' . $accessToken]; - + $this->user = \json_decode($this->request( - 'GET', - 'https://api.etsy.com/v3/application/users/' . $this->getUserID($accessToken), + 'GET', + 'https://api.etsy.com/v3/application/users/' . $this->getUserID($accessToken), ), true); return $this->user; From a874a25b691af2088b3094afc94d050b4345cfcc Mon Sep 17 00:00:00 2001 From: wess Date: Thu, 14 Jul 2022 11:30:22 -0400 Subject: [PATCH 08/34] Fixes issue where Etsy provider class had wrong name Adds Etsy to providers config --- app/config/providers.php | 10 ++++++++++ src/Appwrite/Auth/OAuth2/etsy.php | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/app/config/providers.php b/app/config/providers.php index e4f01fdf8..969fdc5c5 100644 --- a/app/config/providers.php +++ b/app/config/providers.php @@ -101,6 +101,16 @@ return [ // Ordered by ABC. 'beta' => false, 'mock' => false, ], + 'Etsy' => [ + 'name' => 'Etsy', + 'developers' => 'https://developers.etsy.com/', + 'icon' => 'icon-etsy', + 'enabled' => true, + 'sandbox' => false, + 'form' => false, + 'beta' => false, + 'mock' => false, + ], 'facebook' => [ 'name' => 'Facebook', 'developers' => 'https://developers.facebook.com/', diff --git a/src/Appwrite/Auth/OAuth2/etsy.php b/src/Appwrite/Auth/OAuth2/etsy.php index fa5d553ab..06b22ec1b 100644 --- a/src/Appwrite/Auth/OAuth2/etsy.php +++ b/src/Appwrite/Auth/OAuth2/etsy.php @@ -4,7 +4,7 @@ namespace Appwrite\Auth\OAuth2; use Appwrite\Auth\OAuth2; -class Notion extends OAuth2 +class Etsy extends OAuth2 { /** * @var string From 52f5d7d346de8a745694974769643d5ae4358fab Mon Sep 17 00:00:00 2001 From: wess Date: Thu, 14 Jul 2022 11:52:23 -0400 Subject: [PATCH 09/34] Fixes issue where isEmailVerified was not included --- src/Appwrite/Auth/OAuth2/etsy.php | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/Appwrite/Auth/OAuth2/etsy.php b/src/Appwrite/Auth/OAuth2/etsy.php index 06b22ec1b..6987b1f1e 100644 --- a/src/Appwrite/Auth/OAuth2/etsy.php +++ b/src/Appwrite/Auth/OAuth2/etsy.php @@ -29,7 +29,7 @@ class Etsy extends OAuth2 /** * @var array */ - protected $scopes = [ + protected array $scopes = [ "address_r", "address_w", "billing_r", @@ -163,6 +163,22 @@ class Etsy extends OAuth2 return $this->getUser($accessToken)['primary_email']; } + /** + * Check if the OAuth email is verified + * + * If present, the email is verified. This was verfied through a manual Stripe sign up process + * + * @param string $accessToken + * + * @return bool + */ + public function isEmailVerified(string $accessToken): bool + { + $email = $this->getUserEmail($accessToken); + + return !empty($email); + } + /** * @param $accessToken * @@ -193,4 +209,6 @@ class Etsy extends OAuth2 return $this->user; } + + } From bb51393332fea3c5f7e3dc4d928f72c2f4a2afc2 Mon Sep 17 00:00:00 2001 From: wess Date: Thu, 14 Jul 2022 11:57:08 -0400 Subject: [PATCH 10/34] Fixes file case --- src/Appwrite/Auth/OAuth2/Etsy.php | 212 ++++++++++++++++++++++++++++++ src/Appwrite/Auth/OAuth2/etsy.php | 2 - 2 files changed, 212 insertions(+), 2 deletions(-) create mode 100644 src/Appwrite/Auth/OAuth2/Etsy.php diff --git a/src/Appwrite/Auth/OAuth2/Etsy.php b/src/Appwrite/Auth/OAuth2/Etsy.php new file mode 100644 index 000000000..8da3bd4c0 --- /dev/null +++ b/src/Appwrite/Auth/OAuth2/Etsy.php @@ -0,0 +1,212 @@ +pkce)) { + $this->pkce = \bin2hex(\random_bytes(rand(43, 128))); + } + + return $this->pkce; + } + + /** + * @return string + */ + public function getName(): string + { + return 'etsy'; + } + + /** + * @return string + */ + public function getLoginURL(): string + { + return 'https://www.etsy.com/oauth/connect/oauth/authorize?' . \http_build_query([ + 'client_id' => $this->appID, + 'redirect_uri' => $this->callback, + 'response_type' => 'code', + 'state' => \json_encode($this->state), + 'scope' => $this->scopes, + 'code_challenge' => $this->getPKCE(), + 'code_challenge_method' => 'S256', + ]); + } + + /** + * @param string $code + * + * @return array + */ + protected function getTokens(string $code): array + { + if (empty($this->tokens)) { + $headers = ['Content-Type: application/x-www-form-urlencoded']; + + $this->tokens = \json_decode($this->request( + 'POST', + $this->endpoint . '/oauth/token', + $headers, + \http_build_query([ + 'grant_type' => 'authorization_code', + 'client_id' => $this->appID, + 'redirect_uri' => $this->callback, + 'code' => $code, + 'code_verifier' => $this->getPKCE(), + ]) + ), true); + } + + return $this->tokens; + } + + /** + * @param string $refreshToken + * + * @return array + */ + public function refreshTokens(string $refreshToken): array + { + $headers = ['Content-Type: application/x-www-form-urlencoded']; + + $this->tokens = \json_decode($this->request( + 'POST', + $this->endpoint . '/oauth/token', + $headers, + \http_build_query([ + 'grant_type' => 'refresh_token', + 'client_id' => $this->appID, + 'refresh_token' => $refreshToken, + ]) + ), true); + + if (empty($this->tokens['refresh_token'])) { + $this->tokens['refresh_token'] = $refreshToken; + } + + return $this->tokens; + } + + /** + * @param $accessToken + * + * @return string + */ + public function getUserID(string $accessToken): string + { + $components = explode('.', $accessToken); + + return $components[0]; + } + + /** + * @param $accessToken + * + * @return string + */ + public function getUserEmail(string $accessToken): string + { + return $this->getUser($accessToken)['primary_email']; + } + + /** + * Check if the OAuth email is verified + * + * If present, the email is verified. This was verfied through a manual Stripe sign up process + * + * @param string $accessToken + * + * @return bool + */ + public function isEmailVerified(string $accessToken): bool + { + $email = $this->getUserEmail($accessToken); + + return !empty($email); + } + + /** + * @param $accessToken + * + * @return string + */ + public function getUserName(string $accessToken): string + { + return $this->getUser($accessToken)['login_name']; + } + + /** + * @param string $accessToken + * + * @return array + */ + protected function getUser(string $accessToken) + { + if (!empty($this->user)) { + return $this->user; + } + + $headers = ['Authorization: Bearer ' . $accessToken]; + + $this->user = \json_decode($this->request( + 'GET', + 'https://api.etsy.com/v3/application/users/' . $this->getUserID($accessToken), + ), true); + + return $this->user; + } +} diff --git a/src/Appwrite/Auth/OAuth2/etsy.php b/src/Appwrite/Auth/OAuth2/etsy.php index 6987b1f1e..8da3bd4c0 100644 --- a/src/Appwrite/Auth/OAuth2/etsy.php +++ b/src/Appwrite/Auth/OAuth2/etsy.php @@ -209,6 +209,4 @@ class Etsy extends OAuth2 return $this->user; } - - } From e1df9faad7cbaf70ee3bf4e8365a037ee4ced1b0 Mon Sep 17 00:00:00 2001 From: wess Date: Thu, 14 Jul 2022 13:01:50 -0400 Subject: [PATCH 11/34] case fixed --- src/Appwrite/Auth/OAuth2/Etsy.php | 2 +- src/Appwrite/Auth/OAuth2/etsy.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Appwrite/Auth/OAuth2/Etsy.php b/src/Appwrite/Auth/OAuth2/Etsy.php index 8da3bd4c0..5a8db1cd5 100644 --- a/src/Appwrite/Auth/OAuth2/Etsy.php +++ b/src/Appwrite/Auth/OAuth2/Etsy.php @@ -14,7 +14,7 @@ class Etsy extends OAuth2 /** * @var string */ - private $version = '2022-03-10'; + private $version = '2022-07-14'; /** * @var array diff --git a/src/Appwrite/Auth/OAuth2/etsy.php b/src/Appwrite/Auth/OAuth2/etsy.php index 8da3bd4c0..5a8db1cd5 100644 --- a/src/Appwrite/Auth/OAuth2/etsy.php +++ b/src/Appwrite/Auth/OAuth2/etsy.php @@ -14,7 +14,7 @@ class Etsy extends OAuth2 /** * @var string */ - private $version = '2022-03-10'; + private $version = '2022-07-14'; /** * @var array From 41dfd84543f94b2f273118dea44dcb346861ff0f Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Mon, 18 Jul 2022 20:55:59 +1200 Subject: [PATCH 12/34] Ensure user creating team with custom roles is always owner as well --- app/controllers/api/teams.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index 383bcac14..40388a852 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -67,6 +67,10 @@ App::post('/v1/teams') ]))); if (!$isPrivilegedUser && !$isAppUser) { // Don't add user on server mode + if (!\in_array('owner', $roles)) { + $roles[] = 'owner'; + } + $membershipId = $dbForProject->getId(); $membership = new Document([ '$id' => $membershipId, From 2b8e992646bafa74c48b057350330344dcfc9bb3 Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Mon, 18 Jul 2022 21:26:58 +1200 Subject: [PATCH 13/34] Add roles to create team test --- tests/e2e/Services/Teams/TeamsBase.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/e2e/Services/Teams/TeamsBase.php b/tests/e2e/Services/Teams/TeamsBase.php index e62612405..6f3dd167e 100644 --- a/tests/e2e/Services/Teams/TeamsBase.php +++ b/tests/e2e/Services/Teams/TeamsBase.php @@ -17,7 +17,8 @@ trait TeamsBase 'x-appwrite-project' => $this->getProject()['$id'], ], $this->getHeaders()), [ 'teamId' => 'unique()', - 'name' => 'Arsenal' + 'name' => 'Arsenal', + 'roles' => ['player'], ]); $this->assertEquals(201, $response1['headers']['status-code']); From 9333efd3c3ee0fd8e354b8fb4aedfb3ba1086a23 Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Mon, 18 Jul 2022 21:41:11 +1200 Subject: [PATCH 14/34] Format --- app/controllers/api/teams.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/controllers/api/teams.php b/app/controllers/api/teams.php index 40388a852..f0778802c 100644 --- a/app/controllers/api/teams.php +++ b/app/controllers/api/teams.php @@ -70,7 +70,7 @@ App::post('/v1/teams') if (!\in_array('owner', $roles)) { $roles[] = 'owner'; } - + $membershipId = $dbForProject->getId(); $membership = new Document([ '$id' => $membershipId, From 0c38f1db08d560e32cc88dffeb5a9d419a41dbe5 Mon Sep 17 00:00:00 2001 From: Wess Cope Date: Mon, 18 Jul 2022 10:14:51 -0400 Subject: [PATCH 15/34] Delete etsy.php --- src/Appwrite/Auth/OAuth2/etsy.php | 212 ------------------------------ 1 file changed, 212 deletions(-) delete mode 100644 src/Appwrite/Auth/OAuth2/etsy.php diff --git a/src/Appwrite/Auth/OAuth2/etsy.php b/src/Appwrite/Auth/OAuth2/etsy.php deleted file mode 100644 index 5a8db1cd5..000000000 --- a/src/Appwrite/Auth/OAuth2/etsy.php +++ /dev/null @@ -1,212 +0,0 @@ -pkce)) { - $this->pkce = \bin2hex(\random_bytes(rand(43, 128))); - } - - return $this->pkce; - } - - /** - * @return string - */ - public function getName(): string - { - return 'etsy'; - } - - /** - * @return string - */ - public function getLoginURL(): string - { - return 'https://www.etsy.com/oauth/connect/oauth/authorize?' . \http_build_query([ - 'client_id' => $this->appID, - 'redirect_uri' => $this->callback, - 'response_type' => 'code', - 'state' => \json_encode($this->state), - 'scope' => $this->scopes, - 'code_challenge' => $this->getPKCE(), - 'code_challenge_method' => 'S256', - ]); - } - - /** - * @param string $code - * - * @return array - */ - protected function getTokens(string $code): array - { - if (empty($this->tokens)) { - $headers = ['Content-Type: application/x-www-form-urlencoded']; - - $this->tokens = \json_decode($this->request( - 'POST', - $this->endpoint . '/oauth/token', - $headers, - \http_build_query([ - 'grant_type' => 'authorization_code', - 'client_id' => $this->appID, - 'redirect_uri' => $this->callback, - 'code' => $code, - 'code_verifier' => $this->getPKCE(), - ]) - ), true); - } - - return $this->tokens; - } - - /** - * @param string $refreshToken - * - * @return array - */ - public function refreshTokens(string $refreshToken): array - { - $headers = ['Content-Type: application/x-www-form-urlencoded']; - - $this->tokens = \json_decode($this->request( - 'POST', - $this->endpoint . '/oauth/token', - $headers, - \http_build_query([ - 'grant_type' => 'refresh_token', - 'client_id' => $this->appID, - 'refresh_token' => $refreshToken, - ]) - ), true); - - if (empty($this->tokens['refresh_token'])) { - $this->tokens['refresh_token'] = $refreshToken; - } - - return $this->tokens; - } - - /** - * @param $accessToken - * - * @return string - */ - public function getUserID(string $accessToken): string - { - $components = explode('.', $accessToken); - - return $components[0]; - } - - /** - * @param $accessToken - * - * @return string - */ - public function getUserEmail(string $accessToken): string - { - return $this->getUser($accessToken)['primary_email']; - } - - /** - * Check if the OAuth email is verified - * - * If present, the email is verified. This was verfied through a manual Stripe sign up process - * - * @param string $accessToken - * - * @return bool - */ - public function isEmailVerified(string $accessToken): bool - { - $email = $this->getUserEmail($accessToken); - - return !empty($email); - } - - /** - * @param $accessToken - * - * @return string - */ - public function getUserName(string $accessToken): string - { - return $this->getUser($accessToken)['login_name']; - } - - /** - * @param string $accessToken - * - * @return array - */ - protected function getUser(string $accessToken) - { - if (!empty($this->user)) { - return $this->user; - } - - $headers = ['Authorization: Bearer ' . $accessToken]; - - $this->user = \json_decode($this->request( - 'GET', - 'https://api.etsy.com/v3/application/users/' . $this->getUserID($accessToken), - ), true); - - return $this->user; - } -} From 6b089d35a94354bd7c8b8688f98a3898a5d8ce9c Mon Sep 17 00:00:00 2001 From: Wess Cope Date: Thu, 21 Jul 2022 09:28:42 -0400 Subject: [PATCH 16/34] Update src/Appwrite/Auth/OAuth2/Etsy.php Co-authored-by: Torsten Dittmann --- src/Appwrite/Auth/OAuth2/Etsy.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Auth/OAuth2/Etsy.php b/src/Appwrite/Auth/OAuth2/Etsy.php index 5a8db1cd5..a16862635 100644 --- a/src/Appwrite/Auth/OAuth2/Etsy.php +++ b/src/Appwrite/Auth/OAuth2/Etsy.php @@ -9,7 +9,7 @@ class Etsy extends OAuth2 /** * @var string */ - private $endpoint = 'https://api.etsy.com/v3/public'; + private string $endpoint = 'https://api.etsy.com/v3/public'; /** * @var string From 0653d99e4dc36e5042dad59fd51d61aee8a31f05 Mon Sep 17 00:00:00 2001 From: Wess Cope Date: Thu, 21 Jul 2022 12:18:38 -0400 Subject: [PATCH 17/34] Update Etsy.php - Reduces scope to only profile and email - Updates comment for isEmailVerified informing that etsy.com handles verification itself. --- src/Appwrite/Auth/OAuth2/Etsy.php | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/src/Appwrite/Auth/OAuth2/Etsy.php b/src/Appwrite/Auth/OAuth2/Etsy.php index a16862635..d04337a2f 100644 --- a/src/Appwrite/Auth/OAuth2/Etsy.php +++ b/src/Appwrite/Auth/OAuth2/Etsy.php @@ -30,26 +30,8 @@ class Etsy extends OAuth2 * @var array */ protected array $scopes = [ - "address_r", - "address_w", - "billing_r", - "cart_r", - "cart_w", "email_r", - "favorites_r", - "favorites_w", - "feedback_r", - "listings_d", - "listings_r", - "listings_w", "profile_r", - "profile_w", - "recommend_r", - "recommend_w", - "shops_r", - "shops_w", - "transactions_r", - "transactions_w", ]; private $pkce = ''; @@ -166,7 +148,7 @@ class Etsy extends OAuth2 /** * Check if the OAuth email is verified * - * If present, the email is verified. This was verfied through a manual Stripe sign up process + * OAuth is only allowed if account has been verified through Etsy, itself. * * @param string $accessToken * From 1e95279fc07d4712ecc2d9cce2156c3f6f98e41c Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Wed, 27 Jul 2022 20:01:37 +1200 Subject: [PATCH 18/34] Fix role checks --- tests/e2e/Services/Teams/TeamsBaseClient.php | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/tests/e2e/Services/Teams/TeamsBaseClient.php b/tests/e2e/Services/Teams/TeamsBaseClient.php index bd9b9c1ae..7ad1f5692 100644 --- a/tests/e2e/Services/Teams/TeamsBaseClient.php +++ b/tests/e2e/Services/Teams/TeamsBaseClient.php @@ -28,7 +28,8 @@ trait TeamsBaseClient $this->assertEquals($this->getUser()['name'], $response['body']['memberships'][0]['userName']); $this->assertEquals($this->getUser()['email'], $response['body']['memberships'][0]['userEmail']); $this->assertEquals($teamName, $response['body']['memberships'][0]['teamName']); - $this->assertEquals('owner', $response['body']['memberships'][0]['roles'][0]); + $this->assertContains('owner', $response['body']['memberships'][0]['roles']); + $this->assertContains('player', $response['body']['memberships'][0]['roles']); $membershipId = $response['body']['memberships'][0]['$id']; @@ -45,7 +46,8 @@ trait TeamsBaseClient $this->assertEquals($this->getUser()['name'], $response['body']['memberships'][0]['userName']); $this->assertEquals($this->getUser()['email'], $response['body']['memberships'][0]['userEmail']); $this->assertEquals($teamName, $response['body']['memberships'][0]['teamName']); - $this->assertEquals('owner', $response['body']['memberships'][0]['roles'][0]); + $this->assertContains('owner', $response['body']['memberships'][0]['roles']); + $this->assertContains('player', $response['body']['memberships'][0]['roles']); $response = $this->client->call(Client::METHOD_GET, '/teams/' . $teamUid . '/memberships', array_merge([ 'content-type' => 'application/json', @@ -60,7 +62,8 @@ trait TeamsBaseClient $this->assertEquals($this->getUser()['name'], $response['body']['memberships'][0]['userName']); $this->assertEquals($this->getUser()['email'], $response['body']['memberships'][0]['userEmail']); $this->assertEquals($teamName, $response['body']['memberships'][0]['teamName']); - $this->assertEquals('owner', $response['body']['memberships'][0]['roles'][0]); + $this->assertContains('owner', $response['body']['memberships'][0]['roles']); + $this->assertContains('player', $response['body']['memberships'][0]['roles']); $response = $this->client->call(Client::METHOD_GET, '/teams/' . $teamUid . '/memberships', array_merge([ 'content-type' => 'application/json', From f1887449ab6433e8dc1602ca42a6242eb1b2049a Mon Sep 17 00:00:00 2001 From: Wess Cope Date: Tue, 9 Aug 2022 08:15:19 -0400 Subject: [PATCH 19/34] Update src/Appwrite/Auth/OAuth2/Etsy.php Co-authored-by: Christy Jacob --- src/Appwrite/Auth/OAuth2/Etsy.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Auth/OAuth2/Etsy.php b/src/Appwrite/Auth/OAuth2/Etsy.php index d04337a2f..e89731752 100644 --- a/src/Appwrite/Auth/OAuth2/Etsy.php +++ b/src/Appwrite/Auth/OAuth2/Etsy.php @@ -176,7 +176,7 @@ class Etsy extends OAuth2 * * @return array */ - protected function getUser(string $accessToken) + protected function getUser(string $accessToken): array { if (!empty($this->user)) { return $this->user; From 27e54fae4c8b0fd07fec3540174b716e8de30ac6 Mon Sep 17 00:00:00 2001 From: Wess Cope Date: Tue, 9 Aug 2022 08:15:28 -0400 Subject: [PATCH 20/34] Update src/Appwrite/Auth/OAuth2/Etsy.php Co-authored-by: Christy Jacob --- src/Appwrite/Auth/OAuth2/Etsy.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Auth/OAuth2/Etsy.php b/src/Appwrite/Auth/OAuth2/Etsy.php index e89731752..43d4998f4 100644 --- a/src/Appwrite/Auth/OAuth2/Etsy.php +++ b/src/Appwrite/Auth/OAuth2/Etsy.php @@ -14,7 +14,7 @@ class Etsy extends OAuth2 /** * @var string */ - private $version = '2022-07-14'; + private string $version = '2022-07-14'; /** * @var array From 97117f2fde54a9ad16a39cab830c103e807ceaad Mon Sep 17 00:00:00 2001 From: Wess Cope Date: Tue, 9 Aug 2022 08:15:38 -0400 Subject: [PATCH 21/34] Update src/Appwrite/Auth/OAuth2/Etsy.php Co-authored-by: Christy Jacob --- src/Appwrite/Auth/OAuth2/Etsy.php | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/Appwrite/Auth/OAuth2/Etsy.php b/src/Appwrite/Auth/OAuth2/Etsy.php index 43d4998f4..5fce8733f 100644 --- a/src/Appwrite/Auth/OAuth2/Etsy.php +++ b/src/Appwrite/Auth/OAuth2/Etsy.php @@ -34,7 +34,10 @@ class Etsy extends OAuth2 "profile_r", ]; - private $pkce = ''; + /** + * @var string + */ + private string $pkce = ''; private function getPKCE() { From fe2fe1e08a1ae3e8dcb3917c3292976c998aabab Mon Sep 17 00:00:00 2001 From: Wess Cope Date: Tue, 9 Aug 2022 08:15:46 -0400 Subject: [PATCH 22/34] Update src/Appwrite/Auth/OAuth2/Etsy.php Co-authored-by: Christy Jacob --- src/Appwrite/Auth/OAuth2/Etsy.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Auth/OAuth2/Etsy.php b/src/Appwrite/Auth/OAuth2/Etsy.php index 5fce8733f..630c6a856 100644 --- a/src/Appwrite/Auth/OAuth2/Etsy.php +++ b/src/Appwrite/Auth/OAuth2/Etsy.php @@ -39,7 +39,7 @@ class Etsy extends OAuth2 */ private string $pkce = ''; - private function getPKCE() + private function getPKCE(): string { if (empty($this->pkce)) { $this->pkce = \bin2hex(\random_bytes(rand(43, 128))); From 9e2e883c8204496eb2d4e39f0f65f250051b20a2 Mon Sep 17 00:00:00 2001 From: Wess Cope Date: Tue, 9 Aug 2022 10:14:10 -0400 Subject: [PATCH 23/34] Update app/config/providers.php Co-authored-by: Christy Jacob --- app/config/providers.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/config/providers.php b/app/config/providers.php index 969fdc5c5..b70b10db6 100644 --- a/app/config/providers.php +++ b/app/config/providers.php @@ -101,7 +101,7 @@ return [ // Ordered by ABC. 'beta' => false, 'mock' => false, ], - 'Etsy' => [ + 'etsy' => [ 'name' => 'Etsy', 'developers' => 'https://developers.etsy.com/', 'icon' => 'icon-etsy', From f0d4f43dba1e42319d3afa5f4593bf4d4dc3105b Mon Sep 17 00:00:00 2001 From: Wess Cope Date: Tue, 9 Aug 2022 10:14:19 -0400 Subject: [PATCH 24/34] Update src/Appwrite/Auth/OAuth2/Etsy.php Co-authored-by: Christy Jacob --- src/Appwrite/Auth/OAuth2/Etsy.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Auth/OAuth2/Etsy.php b/src/Appwrite/Auth/OAuth2/Etsy.php index 630c6a856..e496c1c7b 100644 --- a/src/Appwrite/Auth/OAuth2/Etsy.php +++ b/src/Appwrite/Auth/OAuth2/Etsy.php @@ -19,7 +19,7 @@ class Etsy extends OAuth2 /** * @var array */ - protected $user = []; + protected array $user = []; /** * @var array From a079284729348aa710f3eb87111e647fd76af780 Mon Sep 17 00:00:00 2001 From: Wess Cope Date: Tue, 9 Aug 2022 10:14:30 -0400 Subject: [PATCH 25/34] Update src/Appwrite/Auth/OAuth2/Etsy.php Co-authored-by: Christy Jacob --- src/Appwrite/Auth/OAuth2/Etsy.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Appwrite/Auth/OAuth2/Etsy.php b/src/Appwrite/Auth/OAuth2/Etsy.php index e496c1c7b..abffd8702 100644 --- a/src/Appwrite/Auth/OAuth2/Etsy.php +++ b/src/Appwrite/Auth/OAuth2/Etsy.php @@ -24,7 +24,7 @@ class Etsy extends OAuth2 /** * @var array */ - protected $tokens = []; + protected array $tokens = []; /** * @var array From c6fc2a98aefec24c672cd740c2612a883230876a Mon Sep 17 00:00:00 2001 From: Wess Cope Date: Tue, 9 Aug 2022 10:14:40 -0400 Subject: [PATCH 26/34] Update src/Appwrite/Auth/OAuth2/Etsy.php Co-authored-by: Christy Jacob --- src/Appwrite/Auth/OAuth2/Etsy.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/Appwrite/Auth/OAuth2/Etsy.php b/src/Appwrite/Auth/OAuth2/Etsy.php index abffd8702..7ff16fcb7 100644 --- a/src/Appwrite/Auth/OAuth2/Etsy.php +++ b/src/Appwrite/Auth/OAuth2/Etsy.php @@ -39,6 +39,9 @@ class Etsy extends OAuth2 */ private string $pkce = ''; + /** + * @return string + */ private function getPKCE(): string { if (empty($this->pkce)) { From 808319e7813f9b7c7578fd1dfe1275554b030a5d Mon Sep 17 00:00:00 2001 From: snyk-bot Date: Sun, 14 Aug 2022 16:09:36 +0000 Subject: [PATCH 27/34] fix: upgrade chart.js from 3.8.0 to 3.8.1 Snyk has created this PR to upgrade chart.js from 3.8.0 to 3.8.1. See this package in npm: https://www.npmjs.com/package/chart.js See this project in Snyk: https://app.snyk.io/org/eldadfux/project/8574b5e4-6e89-4ade-bc02-2eaabc43eed0?utm_source=github&utm_medium=referral&page=upgrade-pr --- package-lock.json | 14 +++++++------- package.json | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index e6a0f6354..206ac21d0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.1.0", "license": "BSD-3-Clause", "dependencies": { - "chart.js": "^3.8.0", + "chart.js": "^3.8.1", "markdown-it": "^12.3.2", "pell": "^1.0.6", "prismjs": "^1.28.0", @@ -549,9 +549,9 @@ } }, "node_modules/chart.js": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.8.0.tgz", - "integrity": "sha512-cr8xhrXjLIXVLOBZPkBZVF6NDeiVIrPLHcMhnON7UufudL+CNeRrD+wpYanswlm8NpudMdrt3CHoLMQMxJhHRg==" + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.8.1.tgz", + "integrity": "sha512-vGrPYJlvp6F2x/uF2PD+7+skzPCrMhJ8cpQJBDLPz98xNmzlz7cbo1N9bvbKffYfbHSnb1hA1UnTGxwCnW8DWQ==" }, "node_modules/chokidar": { "version": "2.1.8", @@ -5484,9 +5484,9 @@ "dev": true }, "chart.js": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.8.0.tgz", - "integrity": "sha512-cr8xhrXjLIXVLOBZPkBZVF6NDeiVIrPLHcMhnON7UufudL+CNeRrD+wpYanswlm8NpudMdrt3CHoLMQMxJhHRg==" + "version": "3.8.1", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-3.8.1.tgz", + "integrity": "sha512-vGrPYJlvp6F2x/uF2PD+7+skzPCrMhJ8cpQJBDLPz98xNmzlz7cbo1N9bvbKffYfbHSnb1hA1UnTGxwCnW8DWQ==" }, "chokidar": { "version": "2.1.8", diff --git a/package.json b/package.json index c7b3aebd0..427174db1 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ "gulp-less": "^5.0.0" }, "dependencies": { - "chart.js": "^3.8.0", + "chart.js": "^3.8.1", "markdown-it": "^12.3.2", "pell": "^1.0.6", "prismjs": "^1.28.0", From f3b73f40f516772a791e690e065309863370541b Mon Sep 17 00:00:00 2001 From: Haimantika mitra Date: Tue, 16 Aug 2022 18:58:43 +0530 Subject: [PATCH 28/34] updated Autodesk logo --- public/images/users/autodesk.png | Bin 882 -> 4171 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/public/images/users/autodesk.png b/public/images/users/autodesk.png index c7ad94f61acf7ad88f069dfbcede47b3d014efa3..4050484e3af268f147d2240550d1715eee20a9ad 100644 GIT binary patch literal 4171 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 From 8056d02c0d0592e55922b1087e7ec575610b9e94 Mon Sep 17 00:00:00 2001 From: Haimantika mitra Date: Tue, 16 Aug 2022 19:04:34 +0530 Subject: [PATCH 29/34] updated Autodesk logo size --- public/images/users/autodesk.jpg | Bin 0 -> 1760 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 public/images/users/autodesk.jpg diff --git a/public/images/users/autodesk.jpg b/public/images/users/autodesk.jpg new file mode 100644 index 0000000000000000000000000000000000000000..186336e658168459176ae090f380b2825a603204 GIT binary patch literal 1760 zcmb_cdsNd^9RKbGV-H|3p3(`>3E|-(Btl{+8zLMCfgvD~2ev^zc#R>x24$I+sZALm z;}z+_Mnn!_Dw0p;#7Gw}fnnfDaDW2FLoi);BEcVeI-S$!-ut_s^L^jfPkUF}3&ug~ z0@ncs1AsvdwD+-&flTJ+4dJ2d0)zcuDzKJ-fOi8(P7(0K1N>~GV>a39WOIn;WTegU z*UTvHWVM|0Usqt#c~m+C(ZJmI-W4gzt(X+JDiDZ$`E%< zTEG()@GL=^0NE&Y_M9}nj;j&(N#35R%cX;^VhS%MG6K!fXxKmoghK%MA^yK&em_&o z0lX#vaNo?!5>5cf_XAjV&C8aQ0T_J_PGawPoG9Ku`@7TPG9Wqwbs(g-Y+aXGD?suKC9|8Ghf1pPyZBo(-#Jvb=OI03sSw3 zb^!&4K{erM;0sMsJr;6Yx@^<9Czqos;j#5& zUwK<7w{$eFnl|N~xcO&n%}Rg&5n9k~HRIY;+ft7yU-d|uK5NhC=dx!`DzXQj72N7t zQQ_5|JC>TyIVUbDxyIQ?va&Bb>A(KF42}Js>9EKhJx!JJ>D9ynMwfi3q40TL&$Qzj z(dyg!1R3u5xRm zHF3pLmD%2x6N}-2gjqH?xhNgq9p<*_vV6Zsn{+CMhl* z8i;y$nk$l?&AT8x^f7(X%1=0vZJPN>&B$YcBOcfyWPmF4!NK2Tzz2o z$N5(_7FswIu_sqQJgiYw`>UIVJG_-E-e&xubU)ObJTnpfc-K&6e+)NADXHG)u+Lt= zdU)_4A*QinOI>+7y*AHA_@uXBi9}I1XqDeI6w~*drIAUUb}E`B9lU{Ve$>@5iX==H z9={I=0K(@CWGW3VJ*Lt9T%sXK$E(VSoD7yc-A;$Cz1t(3oVmrlO!qztn} zLwOlujbha&YIp03_&PoBv!2n#JuS6yi%&*1RCQm>@#v{3y-@CQQ)Xj~exT#AL#Jxh z?^N2d12qq}t16ER`nQ%>gih`kkJP6djaMBQ-Km9eXV~=7Gr6%Ag6`(%ADvj5ysdq2 s{^kkuJ_)ZS; Date: Tue, 16 Aug 2022 19:10:09 +0530 Subject: [PATCH 30/34] updated Autodesk logo format --- public/images/users/autodesk.jpg | Bin 1760 -> 0 bytes public/images/users/autodesk.png | Bin 4171 -> 1278 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 public/images/users/autodesk.jpg diff --git a/public/images/users/autodesk.jpg b/public/images/users/autodesk.jpg deleted file mode 100644 index 186336e658168459176ae090f380b2825a603204..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1760 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 Date: Fri, 26 Aug 2022 21:21:08 +1200 Subject: [PATCH 31/34] Allow flaky tests to be automatically retried with an attribute --- tests/e2e/Scopes/Scope.php | 3 + .../Functions/FunctionsCustomServerTest.php | 2 + tests/e2e/Services/Webhooks/WebhooksBase.php | 2 + tests/extensions/FlakyTest.php | 16 +++++ tests/extensions/Retryable.php | 70 +++++++++++++++++++ 5 files changed, 93 insertions(+) create mode 100644 tests/extensions/FlakyTest.php create mode 100644 tests/extensions/Retryable.php diff --git a/tests/e2e/Scopes/Scope.php b/tests/e2e/Scopes/Scope.php index a4d65636a..673ca8173 100644 --- a/tests/e2e/Scopes/Scope.php +++ b/tests/e2e/Scopes/Scope.php @@ -2,11 +2,14 @@ namespace Tests\E2E\Scopes; +use Appwrite\Tests\Retryable; use Tests\E2E\Client; use PHPUnit\Framework\TestCase; abstract class Scope extends TestCase { + use Retryable; + /** * @var Client */ diff --git a/tests/e2e/Services/Functions/FunctionsCustomServerTest.php b/tests/e2e/Services/Functions/FunctionsCustomServerTest.php index 444611e07..6f4d182d5 100644 --- a/tests/e2e/Services/Functions/FunctionsCustomServerTest.php +++ b/tests/e2e/Services/Functions/FunctionsCustomServerTest.php @@ -2,6 +2,7 @@ namespace Tests\E2E\Services\Functions; +use Appwrite\Tests\FlakyTest; use CURLFile; use Tests\E2E\Client; use Tests\E2E\Scopes\ProjectCustom; @@ -1206,6 +1207,7 @@ class FunctionsCustomServerTest extends Scope $this->assertEquals(204, $response['headers']['status-code']); } + #[FlakyTest(retries: 1)] public function testCreateCustomRubyExecution() { $name = 'ruby-3.1'; diff --git a/tests/e2e/Services/Webhooks/WebhooksBase.php b/tests/e2e/Services/Webhooks/WebhooksBase.php index c1647b6e8..03854978c 100644 --- a/tests/e2e/Services/Webhooks/WebhooksBase.php +++ b/tests/e2e/Services/Webhooks/WebhooksBase.php @@ -2,6 +2,7 @@ namespace Tests\E2E\Services\Webhooks; +use Appwrite\Tests\FlakyTest; use CURLFile; use Tests\E2E\Client; @@ -296,6 +297,7 @@ trait WebhooksBase /** * @depends testCreateCollection */ + #[FlakyTest(retries: 1)] public function testDeleteDocument(array $data): array { $actorsId = $data['actorsId']; diff --git a/tests/extensions/FlakyTest.php b/tests/extensions/FlakyTest.php new file mode 100644 index 000000000..7f930094f --- /dev/null +++ b/tests/extensions/FlakyTest.php @@ -0,0 +1,16 @@ +getNumberOfRetries(); + $ex = null; + for ($i = 0; $i <= $retries; ++$i) { + try { + parent::runBare(); + return; + } catch (\Throwable | \Exception $ex) { + // Swallow the exception until we have exhausted our retries. + if ($i !== $retries) { + echo 'Flaky test failed, retrying...' . PHP_EOL; + } + } + } + if ($ex) { + throw $ex; + } + } + + /** + * @return int + * @throws \ReflectionException + */ + private function getNumberOfRetries(): int + { + $root = new \ReflectionClass($this); + $case = $this->getTestCaseRoot($root); + $name = $case->getProperty('name'); + $name->setAccessible(true); + $name = $name->getValue($this); + $method = $root->getMethod($name); + $attributes = $method->getAttributes(FlakyTest::class); + $attribute = $attributes[0] ?? null; + $args = $attribute?->getArguments(); + $retries = $args['retries'] ?? 0; + return \max(0, $retries); + } + + /** + * @param \ReflectionClass $reflection + * @return \ReflectionClass + */ + private function getTestCaseRoot(\ReflectionClass $reflection): \ReflectionClass + { + if ($reflection->getName() === TestCase::class) { + return $reflection; + } + return $this->getTestCaseRoot($reflection->getParentClass()); + } +} From 3a5db3e45fa8286db2025eb1ee2a477a6fdf54b3 Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Sun, 28 Aug 2022 12:45:37 +1200 Subject: [PATCH 32/34] Add flaky test to account update password --- tests/e2e/Services/Account/AccountBase.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/tests/e2e/Services/Account/AccountBase.php b/tests/e2e/Services/Account/AccountBase.php index 283c76a34..97da90a94 100644 --- a/tests/e2e/Services/Account/AccountBase.php +++ b/tests/e2e/Services/Account/AccountBase.php @@ -2,6 +2,7 @@ namespace Tests\E2E\Services\Account; +use Appwrite\Tests\FlakyTest; use Tests\E2E\Client; trait AccountBase @@ -517,6 +518,7 @@ trait AccountBase /** * @depends testUpdateAccountName */ + #[FlakyTest(retries: 1)] public function testUpdateAccountPassword($data): array { $email = $data['email'] ?? ''; From f4d916a4d23736a176bc2ff8166a3a8b356389bd Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Tue, 30 Aug 2022 23:10:15 +1200 Subject: [PATCH 33/34] Rename FlakyTest attribute to Retry --- tests/e2e/Services/Account/AccountBase.php | 4 ++-- tests/e2e/Services/Functions/FunctionsCustomServerTest.php | 4 ++-- tests/e2e/Services/Webhooks/WebhooksBase.php | 4 ++-- tests/extensions/{FlakyTest.php => Retry.php} | 4 ++-- tests/extensions/Retryable.php | 6 +++--- 5 files changed, 11 insertions(+), 11 deletions(-) rename tests/extensions/{FlakyTest.php => Retry.php} (76%) diff --git a/tests/e2e/Services/Account/AccountBase.php b/tests/e2e/Services/Account/AccountBase.php index 97da90a94..27be5ad50 100644 --- a/tests/e2e/Services/Account/AccountBase.php +++ b/tests/e2e/Services/Account/AccountBase.php @@ -2,7 +2,7 @@ namespace Tests\E2E\Services\Account; -use Appwrite\Tests\FlakyTest; +use Appwrite\Tests\Retry; use Tests\E2E\Client; trait AccountBase @@ -518,7 +518,7 @@ trait AccountBase /** * @depends testUpdateAccountName */ - #[FlakyTest(retries: 1)] + #[Retry(count: 1)] public function testUpdateAccountPassword($data): array { $email = $data['email'] ?? ''; diff --git a/tests/e2e/Services/Functions/FunctionsCustomServerTest.php b/tests/e2e/Services/Functions/FunctionsCustomServerTest.php index 6f4d182d5..a727ad435 100644 --- a/tests/e2e/Services/Functions/FunctionsCustomServerTest.php +++ b/tests/e2e/Services/Functions/FunctionsCustomServerTest.php @@ -2,7 +2,7 @@ namespace Tests\E2E\Services\Functions; -use Appwrite\Tests\FlakyTest; +use Appwrite\Tests\Retry; use CURLFile; use Tests\E2E\Client; use Tests\E2E\Scopes\ProjectCustom; @@ -1207,7 +1207,7 @@ class FunctionsCustomServerTest extends Scope $this->assertEquals(204, $response['headers']['status-code']); } - #[FlakyTest(retries: 1)] + #[Retry(count: 1)] public function testCreateCustomRubyExecution() { $name = 'ruby-3.1'; diff --git a/tests/e2e/Services/Webhooks/WebhooksBase.php b/tests/e2e/Services/Webhooks/WebhooksBase.php index 03854978c..733ed1ca6 100644 --- a/tests/e2e/Services/Webhooks/WebhooksBase.php +++ b/tests/e2e/Services/Webhooks/WebhooksBase.php @@ -2,7 +2,7 @@ namespace Tests\E2E\Services\Webhooks; -use Appwrite\Tests\FlakyTest; +use Appwrite\Tests\Retry; use CURLFile; use Tests\E2E\Client; @@ -297,7 +297,7 @@ trait WebhooksBase /** * @depends testCreateCollection */ - #[FlakyTest(retries: 1)] + #[Retry(count: 1)] public function testDeleteDocument(array $data): array { $actorsId = $data['actorsId']; diff --git a/tests/extensions/FlakyTest.php b/tests/extensions/Retry.php similarity index 76% rename from tests/extensions/FlakyTest.php rename to tests/extensions/Retry.php index 7f930094f..4a9e8d4d6 100644 --- a/tests/extensions/FlakyTest.php +++ b/tests/extensions/Retry.php @@ -8,9 +8,9 @@ namespace Appwrite\Tests; * Requires that the test class extends {@see TestCase} and has trait {@see Retryable}. */ #[\Attribute(\Attribute::TARGET_METHOD)] -class FlakyTest +class Retry { - public function __construct(protected int $retries = 1) + public function __construct(protected int $count = 1) { } } diff --git a/tests/extensions/Retryable.php b/tests/extensions/Retryable.php index c7fc8e22d..b1b2f1862 100644 --- a/tests/extensions/Retryable.php +++ b/tests/extensions/Retryable.php @@ -5,13 +5,13 @@ namespace Appwrite\Tests; use PHPUnit\Framework\TestCase; /** - * Allows test methods annotated with {@see FlakyTest} to be retried. + * Allows test methods annotated with {@see Retry} to be retried. */ trait Retryable { /** * Custom runBare, hides and defers to PHPUnit {@see TestCase} runBare function, - * accounting for any retries configured by the {@see FlakyTest} annotation. + * accounting for any retries configured by the {@see Retry} annotation. * * @return void * @throws \ReflectionException @@ -49,7 +49,7 @@ trait Retryable $name->setAccessible(true); $name = $name->getValue($this); $method = $root->getMethod($name); - $attributes = $method->getAttributes(FlakyTest::class); + $attributes = $method->getAttributes(Retry::class); $attribute = $attributes[0] ?? null; $args = $attribute?->getArguments(); $retries = $args['retries'] ?? 0; From 691b9ef417adaf05ddeaa6e8c10e57bfeaa61136 Mon Sep 17 00:00:00 2001 From: Jake Barnby Date: Tue, 30 Aug 2022 23:12:58 +1200 Subject: [PATCH 34/34] Fix count name ref --- tests/extensions/Retryable.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/extensions/Retryable.php b/tests/extensions/Retryable.php index b1b2f1862..61fec0ef1 100644 --- a/tests/extensions/Retryable.php +++ b/tests/extensions/Retryable.php @@ -52,7 +52,7 @@ trait Retryable $attributes = $method->getAttributes(Retry::class); $attribute = $attributes[0] ?? null; $args = $attribute?->getArguments(); - $retries = $args['retries'] ?? 0; + $retries = $args['count'] ?? 0; return \max(0, $retries); }