diff --git a/tests/CTS/templates/java/requests.mustache b/tests/CTS/integration/.gitkeep similarity index 100% rename from tests/CTS/templates/java/requests.mustache rename to tests/CTS/integration/.gitkeep diff --git a/tests/CTS/clients/abtesting/requests/addABTests.json b/tests/CTS/methods/requests/abtesting/addABTests.json similarity index 100% rename from tests/CTS/clients/abtesting/requests/addABTests.json rename to tests/CTS/methods/requests/abtesting/addABTests.json diff --git a/tests/CTS/clients/abtesting/requests/deleteABTest.json b/tests/CTS/methods/requests/abtesting/deleteABTest.json similarity index 100% rename from tests/CTS/clients/abtesting/requests/deleteABTest.json rename to tests/CTS/methods/requests/abtesting/deleteABTest.json diff --git a/tests/CTS/clients/abtesting/requests/getABTest.json b/tests/CTS/methods/requests/abtesting/getABTest.json similarity index 100% rename from tests/CTS/clients/abtesting/requests/getABTest.json rename to tests/CTS/methods/requests/abtesting/getABTest.json diff --git a/tests/CTS/clients/abtesting/requests/listABTests.json b/tests/CTS/methods/requests/abtesting/listABTests.json similarity index 100% rename from tests/CTS/clients/abtesting/requests/listABTests.json rename to tests/CTS/methods/requests/abtesting/listABTests.json diff --git a/tests/CTS/clients/abtesting/requests/stopABTest.json b/tests/CTS/methods/requests/abtesting/stopABTest.json similarity index 100% rename from tests/CTS/clients/abtesting/requests/stopABTest.json rename to tests/CTS/methods/requests/abtesting/stopABTest.json diff --git a/tests/CTS/clients/analytics/requests/getAverageClickPosition.json b/tests/CTS/methods/requests/analytics/getAverageClickPosition.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getAverageClickPosition.json rename to tests/CTS/methods/requests/analytics/getAverageClickPosition.json diff --git a/tests/CTS/clients/analytics/requests/getClickPositions.json b/tests/CTS/methods/requests/analytics/getClickPositions.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getClickPositions.json rename to tests/CTS/methods/requests/analytics/getClickPositions.json diff --git a/tests/CTS/clients/analytics/requests/getClickThroughRate.json b/tests/CTS/methods/requests/analytics/getClickThroughRate.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getClickThroughRate.json rename to tests/CTS/methods/requests/analytics/getClickThroughRate.json diff --git a/tests/CTS/clients/analytics/requests/getConversationRate.json b/tests/CTS/methods/requests/analytics/getConversationRate.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getConversationRate.json rename to tests/CTS/methods/requests/analytics/getConversationRate.json diff --git a/tests/CTS/clients/analytics/requests/getNoClickRate.json b/tests/CTS/methods/requests/analytics/getNoClickRate.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getNoClickRate.json rename to tests/CTS/methods/requests/analytics/getNoClickRate.json diff --git a/tests/CTS/clients/analytics/requests/getNoResultsRate.json b/tests/CTS/methods/requests/analytics/getNoResultsRate.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getNoResultsRate.json rename to tests/CTS/methods/requests/analytics/getNoResultsRate.json diff --git a/tests/CTS/clients/analytics/requests/getSearchesCount.json b/tests/CTS/methods/requests/analytics/getSearchesCount.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getSearchesCount.json rename to tests/CTS/methods/requests/analytics/getSearchesCount.json diff --git a/tests/CTS/clients/analytics/requests/getSearchesNoClicks.json b/tests/CTS/methods/requests/analytics/getSearchesNoClicks.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getSearchesNoClicks.json rename to tests/CTS/methods/requests/analytics/getSearchesNoClicks.json diff --git a/tests/CTS/clients/analytics/requests/getSearchesNoResults.json b/tests/CTS/methods/requests/analytics/getSearchesNoResults.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getSearchesNoResults.json rename to tests/CTS/methods/requests/analytics/getSearchesNoResults.json diff --git a/tests/CTS/clients/analytics/requests/getStatus.json b/tests/CTS/methods/requests/analytics/getStatus.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getStatus.json rename to tests/CTS/methods/requests/analytics/getStatus.json diff --git a/tests/CTS/clients/analytics/requests/getTopCountries.json b/tests/CTS/methods/requests/analytics/getTopCountries.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getTopCountries.json rename to tests/CTS/methods/requests/analytics/getTopCountries.json diff --git a/tests/CTS/clients/analytics/requests/getTopFilterAttributes.json b/tests/CTS/methods/requests/analytics/getTopFilterAttributes.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getTopFilterAttributes.json rename to tests/CTS/methods/requests/analytics/getTopFilterAttributes.json diff --git a/tests/CTS/clients/analytics/requests/getTopFilterForAttribute.json b/tests/CTS/methods/requests/analytics/getTopFilterForAttribute.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getTopFilterForAttribute.json rename to tests/CTS/methods/requests/analytics/getTopFilterForAttribute.json diff --git a/tests/CTS/clients/analytics/requests/getTopFiltersNoResults.json b/tests/CTS/methods/requests/analytics/getTopFiltersNoResults.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getTopFiltersNoResults.json rename to tests/CTS/methods/requests/analytics/getTopFiltersNoResults.json diff --git a/tests/CTS/clients/analytics/requests/getTopHits.json b/tests/CTS/methods/requests/analytics/getTopHits.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getTopHits.json rename to tests/CTS/methods/requests/analytics/getTopHits.json diff --git a/tests/CTS/clients/analytics/requests/getTopSearches.json b/tests/CTS/methods/requests/analytics/getTopSearches.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getTopSearches.json rename to tests/CTS/methods/requests/analytics/getTopSearches.json diff --git a/tests/CTS/clients/analytics/requests/getUsersCount.json b/tests/CTS/methods/requests/analytics/getUsersCount.json similarity index 100% rename from tests/CTS/clients/analytics/requests/getUsersCount.json rename to tests/CTS/methods/requests/analytics/getUsersCount.json diff --git a/tests/CTS/clients/insights/requests/pushEvents.json b/tests/CTS/methods/requests/insights/pushEvents.json similarity index 100% rename from tests/CTS/clients/insights/requests/pushEvents.json rename to tests/CTS/methods/requests/insights/pushEvents.json diff --git a/tests/CTS/clients/personalization/requests/deleteUserProfile.json b/tests/CTS/methods/requests/personalization/deleteUserProfile.json similarity index 100% rename from tests/CTS/clients/personalization/requests/deleteUserProfile.json rename to tests/CTS/methods/requests/personalization/deleteUserProfile.json diff --git a/tests/CTS/clients/personalization/requests/getPersonalizationStrategy.json b/tests/CTS/methods/requests/personalization/getPersonalizationStrategy.json similarity index 100% rename from tests/CTS/clients/personalization/requests/getPersonalizationStrategy.json rename to tests/CTS/methods/requests/personalization/getPersonalizationStrategy.json diff --git a/tests/CTS/clients/personalization/requests/getUserTokenProfile.json b/tests/CTS/methods/requests/personalization/getUserTokenProfile.json similarity index 100% rename from tests/CTS/clients/personalization/requests/getUserTokenProfile.json rename to tests/CTS/methods/requests/personalization/getUserTokenProfile.json diff --git a/tests/CTS/clients/personalization/requests/setPersonalizationStrategy.json b/tests/CTS/methods/requests/personalization/setPersonalizationStrategy.json similarity index 100% rename from tests/CTS/clients/personalization/requests/setPersonalizationStrategy.json rename to tests/CTS/methods/requests/personalization/setPersonalizationStrategy.json diff --git a/tests/CTS/clients/query-suggestions/requests/createConfig.json b/tests/CTS/methods/requests/query-suggestions/createConfig.json similarity index 100% rename from tests/CTS/clients/query-suggestions/requests/createConfig.json rename to tests/CTS/methods/requests/query-suggestions/createConfig.json diff --git a/tests/CTS/clients/query-suggestions/requests/deleteConfig.json b/tests/CTS/methods/requests/query-suggestions/deleteConfig.json similarity index 100% rename from tests/CTS/clients/query-suggestions/requests/deleteConfig.json rename to tests/CTS/methods/requests/query-suggestions/deleteConfig.json diff --git a/tests/CTS/clients/query-suggestions/requests/getAllConfigs.json b/tests/CTS/methods/requests/query-suggestions/getAllConfigs.json similarity index 100% rename from tests/CTS/clients/query-suggestions/requests/getAllConfigs.json rename to tests/CTS/methods/requests/query-suggestions/getAllConfigs.json diff --git a/tests/CTS/clients/query-suggestions/requests/getConfig.json b/tests/CTS/methods/requests/query-suggestions/getConfig.json similarity index 100% rename from tests/CTS/clients/query-suggestions/requests/getConfig.json rename to tests/CTS/methods/requests/query-suggestions/getConfig.json diff --git a/tests/CTS/clients/query-suggestions/requests/getConfigStatus.json b/tests/CTS/methods/requests/query-suggestions/getConfigStatus.json similarity index 100% rename from tests/CTS/clients/query-suggestions/requests/getConfigStatus.json rename to tests/CTS/methods/requests/query-suggestions/getConfigStatus.json diff --git a/tests/CTS/clients/query-suggestions/requests/getLogFile.json b/tests/CTS/methods/requests/query-suggestions/getLogFile.json similarity index 100% rename from tests/CTS/clients/query-suggestions/requests/getLogFile.json rename to tests/CTS/methods/requests/query-suggestions/getLogFile.json diff --git a/tests/CTS/clients/query-suggestions/requests/updateConfig.json b/tests/CTS/methods/requests/query-suggestions/updateConfig.json similarity index 100% rename from tests/CTS/clients/query-suggestions/requests/updateConfig.json rename to tests/CTS/methods/requests/query-suggestions/updateConfig.json diff --git a/tests/CTS/clients/recommend/requests/getRecommendations.json b/tests/CTS/methods/requests/recommend/getRecommendations.json similarity index 100% rename from tests/CTS/clients/recommend/requests/getRecommendations.json rename to tests/CTS/methods/requests/recommend/getRecommendations.json diff --git a/tests/CTS/clients/search/requests/addApiKey.json b/tests/CTS/methods/requests/search/addApiKey.json similarity index 100% rename from tests/CTS/clients/search/requests/addApiKey.json rename to tests/CTS/methods/requests/search/addApiKey.json diff --git a/tests/CTS/clients/search/requests/addOrUpdateObject.json b/tests/CTS/methods/requests/search/addOrUpdateObject.json similarity index 100% rename from tests/CTS/clients/search/requests/addOrUpdateObject.json rename to tests/CTS/methods/requests/search/addOrUpdateObject.json diff --git a/tests/CTS/clients/search/requests/appendSource.json b/tests/CTS/methods/requests/search/appendSource.json similarity index 100% rename from tests/CTS/clients/search/requests/appendSource.json rename to tests/CTS/methods/requests/search/appendSource.json diff --git a/tests/CTS/clients/search/requests/assignUserId.json b/tests/CTS/methods/requests/search/assignUserId.json similarity index 100% rename from tests/CTS/clients/search/requests/assignUserId.json rename to tests/CTS/methods/requests/search/assignUserId.json diff --git a/tests/CTS/clients/search/requests/batch.json b/tests/CTS/methods/requests/search/batch.json similarity index 100% rename from tests/CTS/clients/search/requests/batch.json rename to tests/CTS/methods/requests/search/batch.json diff --git a/tests/CTS/clients/search/requests/batchAssignUserIds.json b/tests/CTS/methods/requests/search/batchAssignUserIds.json similarity index 100% rename from tests/CTS/clients/search/requests/batchAssignUserIds.json rename to tests/CTS/methods/requests/search/batchAssignUserIds.json diff --git a/tests/CTS/clients/search/requests/batchDictionaryEntries.json b/tests/CTS/methods/requests/search/batchDictionaryEntries.json similarity index 100% rename from tests/CTS/clients/search/requests/batchDictionaryEntries.json rename to tests/CTS/methods/requests/search/batchDictionaryEntries.json diff --git a/tests/CTS/clients/search/requests/batchRules.json b/tests/CTS/methods/requests/search/batchRules.json similarity index 100% rename from tests/CTS/clients/search/requests/batchRules.json rename to tests/CTS/methods/requests/search/batchRules.json diff --git a/tests/CTS/clients/search/requests/browse.json b/tests/CTS/methods/requests/search/browse.json similarity index 100% rename from tests/CTS/clients/search/requests/browse.json rename to tests/CTS/methods/requests/search/browse.json diff --git a/tests/CTS/clients/search/requests/clearAllSynonyms.json b/tests/CTS/methods/requests/search/clearAllSynonyms.json similarity index 100% rename from tests/CTS/clients/search/requests/clearAllSynonyms.json rename to tests/CTS/methods/requests/search/clearAllSynonyms.json diff --git a/tests/CTS/clients/search/requests/clearObjects.json b/tests/CTS/methods/requests/search/clearObjects.json similarity index 100% rename from tests/CTS/clients/search/requests/clearObjects.json rename to tests/CTS/methods/requests/search/clearObjects.json diff --git a/tests/CTS/clients/search/requests/clearRules.json b/tests/CTS/methods/requests/search/clearRules.json similarity index 100% rename from tests/CTS/clients/search/requests/clearRules.json rename to tests/CTS/methods/requests/search/clearRules.json diff --git a/tests/CTS/clients/search/requests/deleteApiKey.json b/tests/CTS/methods/requests/search/deleteApiKey.json similarity index 100% rename from tests/CTS/clients/search/requests/deleteApiKey.json rename to tests/CTS/methods/requests/search/deleteApiKey.json diff --git a/tests/CTS/clients/search/requests/deleteBy.json b/tests/CTS/methods/requests/search/deleteBy.json similarity index 100% rename from tests/CTS/clients/search/requests/deleteBy.json rename to tests/CTS/methods/requests/search/deleteBy.json diff --git a/tests/CTS/clients/search/requests/deleteIndex.json b/tests/CTS/methods/requests/search/deleteIndex.json similarity index 100% rename from tests/CTS/clients/search/requests/deleteIndex.json rename to tests/CTS/methods/requests/search/deleteIndex.json diff --git a/tests/CTS/clients/search/requests/deleteObject.json b/tests/CTS/methods/requests/search/deleteObject.json similarity index 100% rename from tests/CTS/clients/search/requests/deleteObject.json rename to tests/CTS/methods/requests/search/deleteObject.json diff --git a/tests/CTS/clients/search/requests/deleteRule.json b/tests/CTS/methods/requests/search/deleteRule.json similarity index 100% rename from tests/CTS/clients/search/requests/deleteRule.json rename to tests/CTS/methods/requests/search/deleteRule.json diff --git a/tests/CTS/clients/search/requests/deleteSource.json b/tests/CTS/methods/requests/search/deleteSource.json similarity index 100% rename from tests/CTS/clients/search/requests/deleteSource.json rename to tests/CTS/methods/requests/search/deleteSource.json diff --git a/tests/CTS/clients/search/requests/deleteSynonym.json b/tests/CTS/methods/requests/search/deleteSynonym.json similarity index 100% rename from tests/CTS/clients/search/requests/deleteSynonym.json rename to tests/CTS/methods/requests/search/deleteSynonym.json diff --git a/tests/CTS/clients/search/requests/getApiKey.json b/tests/CTS/methods/requests/search/getApiKey.json similarity index 100% rename from tests/CTS/clients/search/requests/getApiKey.json rename to tests/CTS/methods/requests/search/getApiKey.json diff --git a/tests/CTS/clients/search/requests/getDictionaryLanguages.json b/tests/CTS/methods/requests/search/getDictionaryLanguages.json similarity index 100% rename from tests/CTS/clients/search/requests/getDictionaryLanguages.json rename to tests/CTS/methods/requests/search/getDictionaryLanguages.json diff --git a/tests/CTS/clients/search/requests/getDictionarySettings.json b/tests/CTS/methods/requests/search/getDictionarySettings.json similarity index 100% rename from tests/CTS/clients/search/requests/getDictionarySettings.json rename to tests/CTS/methods/requests/search/getDictionarySettings.json diff --git a/tests/CTS/clients/search/requests/getLogs.json b/tests/CTS/methods/requests/search/getLogs.json similarity index 100% rename from tests/CTS/clients/search/requests/getLogs.json rename to tests/CTS/methods/requests/search/getLogs.json diff --git a/tests/CTS/clients/search/requests/getObject.json b/tests/CTS/methods/requests/search/getObject.json similarity index 100% rename from tests/CTS/clients/search/requests/getObject.json rename to tests/CTS/methods/requests/search/getObject.json diff --git a/tests/CTS/clients/search/requests/getObjects.json b/tests/CTS/methods/requests/search/getObjects.json similarity index 100% rename from tests/CTS/clients/search/requests/getObjects.json rename to tests/CTS/methods/requests/search/getObjects.json diff --git a/tests/CTS/clients/search/requests/getRule.json b/tests/CTS/methods/requests/search/getRule.json similarity index 100% rename from tests/CTS/clients/search/requests/getRule.json rename to tests/CTS/methods/requests/search/getRule.json diff --git a/tests/CTS/clients/search/requests/getSettings.json b/tests/CTS/methods/requests/search/getSettings.json similarity index 100% rename from tests/CTS/clients/search/requests/getSettings.json rename to tests/CTS/methods/requests/search/getSettings.json diff --git a/tests/CTS/clients/search/requests/getSources.json b/tests/CTS/methods/requests/search/getSources.json similarity index 100% rename from tests/CTS/clients/search/requests/getSources.json rename to tests/CTS/methods/requests/search/getSources.json diff --git a/tests/CTS/clients/search/requests/getSynonym.json b/tests/CTS/methods/requests/search/getSynonym.json similarity index 100% rename from tests/CTS/clients/search/requests/getSynonym.json rename to tests/CTS/methods/requests/search/getSynonym.json diff --git a/tests/CTS/clients/search/requests/getTask.json b/tests/CTS/methods/requests/search/getTask.json similarity index 100% rename from tests/CTS/clients/search/requests/getTask.json rename to tests/CTS/methods/requests/search/getTask.json diff --git a/tests/CTS/clients/search/requests/getTopUserIds.json b/tests/CTS/methods/requests/search/getTopUserIds.json similarity index 100% rename from tests/CTS/clients/search/requests/getTopUserIds.json rename to tests/CTS/methods/requests/search/getTopUserIds.json diff --git a/tests/CTS/clients/search/requests/getUserId.json b/tests/CTS/methods/requests/search/getUserId.json similarity index 100% rename from tests/CTS/clients/search/requests/getUserId.json rename to tests/CTS/methods/requests/search/getUserId.json diff --git a/tests/CTS/clients/search/requests/hasPendingMappings.json b/tests/CTS/methods/requests/search/hasPendingMappings.json similarity index 100% rename from tests/CTS/clients/search/requests/hasPendingMappings.json rename to tests/CTS/methods/requests/search/hasPendingMappings.json diff --git a/tests/CTS/clients/search/requests/listApiKeys.json b/tests/CTS/methods/requests/search/listApiKeys.json similarity index 100% rename from tests/CTS/clients/search/requests/listApiKeys.json rename to tests/CTS/methods/requests/search/listApiKeys.json diff --git a/tests/CTS/clients/search/requests/listClusters.json b/tests/CTS/methods/requests/search/listClusters.json similarity index 100% rename from tests/CTS/clients/search/requests/listClusters.json rename to tests/CTS/methods/requests/search/listClusters.json diff --git a/tests/CTS/clients/search/requests/listIndices.json b/tests/CTS/methods/requests/search/listIndices.json similarity index 100% rename from tests/CTS/clients/search/requests/listIndices.json rename to tests/CTS/methods/requests/search/listIndices.json diff --git a/tests/CTS/clients/search/requests/listUserIds.json b/tests/CTS/methods/requests/search/listUserIds.json similarity index 100% rename from tests/CTS/clients/search/requests/listUserIds.json rename to tests/CTS/methods/requests/search/listUserIds.json diff --git a/tests/CTS/clients/search/requests/multipleBatch.json b/tests/CTS/methods/requests/search/multipleBatch.json similarity index 100% rename from tests/CTS/clients/search/requests/multipleBatch.json rename to tests/CTS/methods/requests/search/multipleBatch.json diff --git a/tests/CTS/clients/search/requests/multipleQueries.json b/tests/CTS/methods/requests/search/multipleQueries.json similarity index 100% rename from tests/CTS/clients/search/requests/multipleQueries.json rename to tests/CTS/methods/requests/search/multipleQueries.json diff --git a/tests/CTS/clients/search/requests/operationIndex.json b/tests/CTS/methods/requests/search/operationIndex.json similarity index 100% rename from tests/CTS/clients/search/requests/operationIndex.json rename to tests/CTS/methods/requests/search/operationIndex.json diff --git a/tests/CTS/clients/search/requests/partialUpdateObject.json b/tests/CTS/methods/requests/search/partialUpdateObject.json similarity index 100% rename from tests/CTS/clients/search/requests/partialUpdateObject.json rename to tests/CTS/methods/requests/search/partialUpdateObject.json diff --git a/tests/CTS/clients/search/requests/removeUserId.json b/tests/CTS/methods/requests/search/removeUserId.json similarity index 100% rename from tests/CTS/clients/search/requests/removeUserId.json rename to tests/CTS/methods/requests/search/removeUserId.json diff --git a/tests/CTS/clients/search/requests/replaceSources.json b/tests/CTS/methods/requests/search/replaceSources.json similarity index 100% rename from tests/CTS/clients/search/requests/replaceSources.json rename to tests/CTS/methods/requests/search/replaceSources.json diff --git a/tests/CTS/clients/search/requests/restoreApiKey.json b/tests/CTS/methods/requests/search/restoreApiKey.json similarity index 100% rename from tests/CTS/clients/search/requests/restoreApiKey.json rename to tests/CTS/methods/requests/search/restoreApiKey.json diff --git a/tests/CTS/clients/search/requests/saveObject.json b/tests/CTS/methods/requests/search/saveObject.json similarity index 100% rename from tests/CTS/clients/search/requests/saveObject.json rename to tests/CTS/methods/requests/search/saveObject.json diff --git a/tests/CTS/clients/search/requests/saveRule.json b/tests/CTS/methods/requests/search/saveRule.json similarity index 100% rename from tests/CTS/clients/search/requests/saveRule.json rename to tests/CTS/methods/requests/search/saveRule.json diff --git a/tests/CTS/clients/search/requests/saveSynonym.json b/tests/CTS/methods/requests/search/saveSynonym.json similarity index 100% rename from tests/CTS/clients/search/requests/saveSynonym.json rename to tests/CTS/methods/requests/search/saveSynonym.json diff --git a/tests/CTS/clients/search/requests/saveSynonyms.json b/tests/CTS/methods/requests/search/saveSynonyms.json similarity index 100% rename from tests/CTS/clients/search/requests/saveSynonyms.json rename to tests/CTS/methods/requests/search/saveSynonyms.json diff --git a/tests/CTS/clients/search/requests/search.json b/tests/CTS/methods/requests/search/search.json similarity index 100% rename from tests/CTS/clients/search/requests/search.json rename to tests/CTS/methods/requests/search/search.json diff --git a/tests/CTS/clients/search/requests/searchDictionaryEntries.json b/tests/CTS/methods/requests/search/searchDictionaryEntries.json similarity index 100% rename from tests/CTS/clients/search/requests/searchDictionaryEntries.json rename to tests/CTS/methods/requests/search/searchDictionaryEntries.json diff --git a/tests/CTS/clients/search/requests/searchForFacetValues.json b/tests/CTS/methods/requests/search/searchForFacetValues.json similarity index 100% rename from tests/CTS/clients/search/requests/searchForFacetValues.json rename to tests/CTS/methods/requests/search/searchForFacetValues.json diff --git a/tests/CTS/clients/search/requests/searchRules.json b/tests/CTS/methods/requests/search/searchRules.json similarity index 100% rename from tests/CTS/clients/search/requests/searchRules.json rename to tests/CTS/methods/requests/search/searchRules.json diff --git a/tests/CTS/clients/search/requests/searchSynonyms.json b/tests/CTS/methods/requests/search/searchSynonyms.json similarity index 100% rename from tests/CTS/clients/search/requests/searchSynonyms.json rename to tests/CTS/methods/requests/search/searchSynonyms.json diff --git a/tests/CTS/clients/search/requests/searchUserIds.json b/tests/CTS/methods/requests/search/searchUserIds.json similarity index 100% rename from tests/CTS/clients/search/requests/searchUserIds.json rename to tests/CTS/methods/requests/search/searchUserIds.json diff --git a/tests/CTS/clients/search/requests/setDictionarySettings.json b/tests/CTS/methods/requests/search/setDictionarySettings.json similarity index 100% rename from tests/CTS/clients/search/requests/setDictionarySettings.json rename to tests/CTS/methods/requests/search/setDictionarySettings.json diff --git a/tests/CTS/clients/search/requests/setSettings.json b/tests/CTS/methods/requests/search/setSettings.json similarity index 100% rename from tests/CTS/clients/search/requests/setSettings.json rename to tests/CTS/methods/requests/search/setSettings.json diff --git a/tests/CTS/clients/search/requests/updateApiKey.json b/tests/CTS/methods/requests/search/updateApiKey.json similarity index 100% rename from tests/CTS/clients/search/requests/updateApiKey.json rename to tests/CTS/methods/requests/search/updateApiKey.json diff --git a/tests/CTS/methods/responses/.gitkeep b/tests/CTS/methods/responses/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/CTS/methods/templates/java/requests.mustache b/tests/CTS/methods/templates/java/requests.mustache new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/CTS/templates/javascript/requests.mustache b/tests/CTS/methods/templates/javascript/requests.mustache similarity index 100% rename from tests/CTS/templates/javascript/requests.mustache rename to tests/CTS/methods/templates/javascript/requests.mustache diff --git a/tests/output/javascript/tests/abtestingRequests.test.ts b/tests/output/javascript/tests/methods/requests/abtesting.test.ts similarity index 100% rename from tests/output/javascript/tests/abtestingRequests.test.ts rename to tests/output/javascript/tests/methods/requests/abtesting.test.ts diff --git a/tests/output/javascript/tests/analyticsRequests.test.ts b/tests/output/javascript/tests/methods/requests/analytics.test.ts similarity index 100% rename from tests/output/javascript/tests/analyticsRequests.test.ts rename to tests/output/javascript/tests/methods/requests/analytics.test.ts diff --git a/tests/output/javascript/tests/insightsRequests.test.ts b/tests/output/javascript/tests/methods/requests/insights.test.ts similarity index 100% rename from tests/output/javascript/tests/insightsRequests.test.ts rename to tests/output/javascript/tests/methods/requests/insights.test.ts diff --git a/tests/output/javascript/tests/personalizationRequests.test.ts b/tests/output/javascript/tests/methods/requests/personalization.test.ts similarity index 100% rename from tests/output/javascript/tests/personalizationRequests.test.ts rename to tests/output/javascript/tests/methods/requests/personalization.test.ts diff --git a/tests/output/javascript/tests/query-suggestionsRequests.test.ts b/tests/output/javascript/tests/methods/requests/query-suggestions.test.ts similarity index 100% rename from tests/output/javascript/tests/query-suggestionsRequests.test.ts rename to tests/output/javascript/tests/methods/requests/query-suggestions.test.ts diff --git a/tests/output/javascript/tests/recommendRequests.test.ts b/tests/output/javascript/tests/methods/requests/recommend.test.ts similarity index 100% rename from tests/output/javascript/tests/recommendRequests.test.ts rename to tests/output/javascript/tests/methods/requests/recommend.test.ts diff --git a/tests/output/javascript/tests/searchRequests.test.ts b/tests/output/javascript/tests/methods/requests/search.test.ts similarity index 100% rename from tests/output/javascript/tests/searchRequests.test.ts rename to tests/output/javascript/tests/methods/requests/search.test.ts diff --git a/tests/package.json b/tests/package.json index 94d3e9bd10..82fd1ec450 100644 --- a/tests/package.json +++ b/tests/package.json @@ -7,7 +7,8 @@ "scripts": { "build": "tsc", "lint:fix": "yarn workspace javascript-tests lint:fix", - "generate": "node dist/tests/src/main.js ${0:-javascript} ${1:-search}", + "generate": "yarn generate:methods:requets ${0:-javascript} ${1:-search}", + "generate:methods:requets": "node dist/tests/src/methods/requests/main.js ${0:-javascript} ${1:-search}", "start": "yarn build && yarn generate ${0:-javascript} ${1:-search} && yarn lint:fix" }, "devDependencies": { diff --git a/tests/src/client/.gitkeep b/tests/src/client/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/src/integrations/.gitkeep b/tests/src/integrations/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/tests/src/cts.ts b/tests/src/methods/requests/cts.ts similarity index 96% rename from tests/src/cts.ts rename to tests/src/methods/requests/cts.ts index 2d8e220507..1ab4af4638 100644 --- a/tests/src/cts.ts +++ b/tests/src/methods/requests/cts.ts @@ -4,7 +4,7 @@ import SwaggerParser from '@apidevtools/swagger-parser'; import type { OpenAPIV3 } from 'openapi-types'; import type { CTS, CTSBlock, Tests } from './types'; -import { removeObjectName, walk } from './utils'; +import { removeObjectName, walk } from '../../utils'; async function loadRequestsCTS(client: string): Promise { // load the list of operations from the spec @@ -19,7 +19,7 @@ async function loadRequestsCTS(client: string): Promise { const ctsClient: CTSBlock[] = []; - for await (const file of walk(`./CTS/clients/${client}/requests`)) { + for await (const file of walk(`./CTS/methods/requests/${client}`)) { if (!file.name.endsWith('json')) { continue; } diff --git a/tests/src/generate.ts b/tests/src/methods/requests/generate.ts similarity index 76% rename from tests/src/generate.ts rename to tests/src/methods/requests/generate.ts index 83e959c416..244d2f17a8 100644 --- a/tests/src/generate.ts +++ b/tests/src/methods/requests/generate.ts @@ -5,12 +5,16 @@ import Mustache from 'mustache'; import { loadCTS } from './cts'; import { loadRequestsTemplate } from './templates'; import type { CTSBlock } from './types'; -import { extensionForLanguage } from './types'; -import { createClientName, packageNames } from './utils'; +import { + createClientName, + packageNames, + extensionForLanguage, +} from '../../utils'; async function createOutputDir(language: string): Promise { - await fsp.mkdir(`output/${language}`, { recursive: true }); - await fsp.mkdir(`output/${language}/tests`, { recursive: true }); + await fsp.mkdir(`output/${language}/tests/methods/requests`, { + recursive: true, + }); } async function generateRequestsTests( @@ -35,7 +39,7 @@ async function generateRequestsTests( ].includes(client), }); await fsp.writeFile( - `output/${language}/tests/${client}Requests.${extensionForLanguage[language]}`, + `output/${language}/tests/methods/requests/${client}.${extensionForLanguage[language]}`, code ); } diff --git a/tests/src/main.ts b/tests/src/methods/requests/main.ts similarity index 95% rename from tests/src/main.ts rename to tests/src/methods/requests/main.ts index 00c8a86a52..b8b5ba95bf 100644 --- a/tests/src/main.ts +++ b/tests/src/methods/requests/main.ts @@ -1,7 +1,7 @@ /* eslint-disable no-console */ import { generateTests } from './generate'; -import { packageNames } from './utils'; +import { packageNames } from '../../utils'; function printUsage(): void { console.log(`usage: generateCTS language client`); diff --git a/tests/src/templates.ts b/tests/src/methods/requests/templates.ts similarity index 64% rename from tests/src/templates.ts rename to tests/src/methods/requests/templates.ts index 859db5999c..32258be39e 100644 --- a/tests/src/templates.ts +++ b/tests/src/methods/requests/templates.ts @@ -2,6 +2,6 @@ import fsp from 'fs/promises'; export async function loadRequestsTemplate(language: string): Promise { return ( - await fsp.readFile(`CTS/templates/${language}/requests.mustache`) + await fsp.readFile(`CTS/methods/templates/${language}/requests.mustache`) ).toString(); } diff --git a/tests/src/types.ts b/tests/src/methods/requests/types.ts similarity index 85% rename from tests/src/types.ts rename to tests/src/methods/requests/types.ts index 9be17ec2b3..b6e62c2a7d 100644 --- a/tests/src/types.ts +++ b/tests/src/methods/requests/types.ts @@ -30,8 +30,3 @@ export type CTSBlock = { export type CTS = { requests: CTSBlock[]; }; - -export const extensionForLanguage: Record = { - javascript: 'test.ts', - java: 'java', -}; diff --git a/tests/src/utils.ts b/tests/src/utils.ts index 25c6542601..3377e72b24 100644 --- a/tests/src/utils.ts +++ b/tests/src/utils.ts @@ -56,3 +56,8 @@ export function removeObjectName(obj: Record): void { } } } + +export const extensionForLanguage: Record = { + javascript: 'test.ts', + java: 'java', +};