diff --git a/src/test/java/org/gcube/accounting/datamodel/validations/validators/TestRules.java b/src/test/java/org/gcube/accounting/datamodel/validations/validators/TestRules.java index 60bdb42..10ec029 100644 --- a/src/test/java/org/gcube/accounting/datamodel/validations/validators/TestRules.java +++ b/src/test/java/org/gcube/accounting/datamodel/validations/validators/TestRules.java @@ -219,11 +219,33 @@ public class TestRules extends ContextTest { public void testSingleRule() throws Exception { allRules(); File rulesDirectory = getRulesDirectory(); - File rulesDirFile = new File(rulesDirectory, "DataMiner"); - File rulesFile = new File(rulesDirFile, "DataMiner-all.json"); - testRule(rulesFile); + File rulesDirFile = new File(rulesDirectory, "Catalogue-WS"); + File ruleFile = new File(rulesDirFile, "Catalogue-WS-collection.json"); + testRule(ruleFile); } + @Test + public void testAllRuleInAdirectory() throws Exception { + allRules(); + File rulesDirectory = getRulesDirectory(); + File rulesDirFile = new File(rulesDirectory, "gcat"); + + FilenameFilter filenameFilter = new FilenameFilter() { + @Override + public boolean accept(File dir, String name) { + return name.endsWith(".json"); + } + }; + + List rulesFiles = new ArrayList<>(); + rulesFiles.addAll(Arrays.asList(rulesDirFile.listFiles(filenameFilter))); + + for(File ruleFile : rulesFiles) { + testRule(ruleFile); + } + } + + @Test public void testAllRules() throws Exception { List rulesFiles = allRules(); diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-collection-instance.csv b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-collection-instance.csv new file mode 100644 index 0000000..a8e030d --- /dev/null +++ b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-collection-instance.csv @@ -0,0 +1,10 @@ +Data-Catalogue,Catalogue-WS,/rest/api/groups/create +Data-Catalogue,Catalogue-WS,/rest/api/groups/show +Data-Catalogue,Catalogue-WS,/rest/api/items/create +Data-Catalogue,Catalogue-WS,/rest/api/items/delete +Data-Catalogue,Catalogue-WS,/rest/api/items/purge +Data-Catalogue,Catalogue-WS,/rest/api/items/show +Data-Catalogue,Catalogue-WS,/rest/api/resources/create +Data-Catalogue,Catalogue-WS,/rest/api/resources/delete +Data-Catalogue,Catalogue-WS,/rest/api/resources/show +Data-Catalogue,Catalogue-WS,/rest/api/namespaces/show \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-group.json b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-collection-instance.json similarity index 50% rename from src/test/resources/rules/Catalogue-WS/Catalogue-WS-group.json rename to src/test/resources/rules/Catalogue-WS/Catalogue-WS-collection-instance.json index e91f683..77cc7e9 100644 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-group.json +++ b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-collection-instance.json @@ -2,11 +2,11 @@ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", - "calledMethodRegex": "(\/rest\/(api\/){0,1})group(s){0,1}\/(?(create|show|purge|delete))(\/{0,1})" + "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})(?(group|item|resource|namespace))(s){0,1}\/(?(create|show|purge|delete))(\/{0,1})" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", - "calledMethod": "${Action}Group" + "calledMethod": "${Action} ${Collection}" } } \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-collection.csv b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-collection.csv new file mode 100644 index 0000000..7ccbfe3 --- /dev/null +++ b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-collection.csv @@ -0,0 +1,3 @@ +Data-Catalogue,Catalogue-WS,/rest/api/groups/list +Data-Catalogue,Catalogue-WS,/rest/api/items/list +Data-Catalogue,Catalogue-WS,/rest/api/resources/list \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-item.json b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-collection.json similarity index 55% rename from src/test/resources/rules/Catalogue-WS/Catalogue-WS-item.json rename to src/test/resources/rules/Catalogue-WS/Catalogue-WS-collection.json index 59c837b..ff9649d 100644 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-item.json +++ b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-collection.json @@ -2,11 +2,11 @@ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", - "calledMethodRegex": "(\/rest\/(api\/){0,1})item(s){0,1}\/(?(create|show|purge|delete))(\/{0,1})" + "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})(?(groups|items|resources))\/(?list)(\/{0,1})" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", - "calledMethod": "${Action}Item" + "calledMethod": "${Action} ${Collection}" } } \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-group.csv b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-group.csv deleted file mode 100644 index 4ba50b5..0000000 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-group.csv +++ /dev/null @@ -1,2 +0,0 @@ -Data-Catalogue,Catalogue-WS,/rest/api/groups/create -Data-Catalogue,Catalogue-WS,/rest/api/groups/show \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-groups.csv b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-groups.csv deleted file mode 100644 index 4f64376..0000000 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-groups.csv +++ /dev/null @@ -1 +0,0 @@ -Data-Catalogue,Catalogue-WS,/rest/api/groups/list \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-groups.json b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-groups.json deleted file mode 100644 index b0a81e3..0000000 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-groups.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "match": { - "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", - "serviceNameRegex": "Catalogue-WS", - "calledMethodRegex": "(\/rest\/(api\/){0,1})group(s){0,1}\/(?list)(\/{0,1})" - }, - "replace": { - "serviceClass": "DataPublishing", - "serviceName": "Catalogue-WS", - "calledMethod": "${Action}Groups" - } -} \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-item.csv b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-item.csv deleted file mode 100644 index 0e12eea..0000000 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-item.csv +++ /dev/null @@ -1,4 +0,0 @@ -Data-Catalogue,Catalogue-WS,/rest/api/items/create -Data-Catalogue,Catalogue-WS,/rest/api/items/delete -Data-Catalogue,Catalogue-WS,/rest/api/items/purge -Data-Catalogue,Catalogue-WS,/rest/api/items/show \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-items.csv b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-items.csv deleted file mode 100644 index 4d19e7b..0000000 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-items.csv +++ /dev/null @@ -1 +0,0 @@ -Data-Catalogue,Catalogue-WS,/rest/api/items/list \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-items.json b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-items.json deleted file mode 100644 index 9b5e022..0000000 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-items.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "match": { - "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", - "serviceNameRegex": "Catalogue-WS", - "calledMethodRegex": "(\/rest\/(api\/){0,1})item(s){0,1}\/(?list)(\/{0,1})" - }, - "replace": { - "serviceClass": "DataPublishing", - "serviceName": "Catalogue-WS", - "calledMethod": "${Action}Items" - } -} \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-license.json b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-license.json index e028a48..690cf3c 100644 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-license.json +++ b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-license.json @@ -2,11 +2,11 @@ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", - "calledMethodRegex": "^\/rest\/(api\/){0,1}licen(c|s)es\/(?(create|show|purge|delete))(\/{0,1})" + "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})licen(c|s)es\/(?(create|show|purge|delete))(\/{0,1})" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", - "calledMethod": "${Action}License" + "calledMethod": "${Action} license" } } \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-licenses.csv b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-licenses.csv index cb38080..96df74a 100644 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-licenses.csv +++ b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-licenses.csv @@ -3,13 +3,4 @@ Data-Catalogue,Catalogue-WS,/rest/api/licenses/list Data-Catalogue,Catalogue-WS,/rest/api/licences/list Data-Catalogue,Catalogue-WS,/rest/api/licenses/list/ Data-Catalogue,Catalogue-WS,/rest/api/licences/list -Data-Catalogue,Catalogue-WS,/rest/api/licenses/list/ - -Data-Catalogue Catalogue-WS /rest/api/licenses/show - - - -Data-Catalogue Catalogue-WS /rest/api/namespaces/show -Data-Catalogue Catalogue-WS /rest/api/profiles/namespaces -Data-Catalogue Catalogue-WS /rest/api/profiles/profile -Data-Catalogue Catalogue-WS /rest/api/profiles/profile_names \ No newline at end of file +Data-Catalogue,Catalogue-WS,/rest/api/licenses/list/ \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-licenses.json b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-licenses.json index 62eee1e..8a7119e 100644 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-licenses.json +++ b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-licenses.json @@ -2,11 +2,11 @@ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", - "calledMethodRegex": "^\/rest\/(api\/){0,1}licen(c|s)es\/(?list)(\/{0,1})" + "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})licen(c|s)es\/(?list)(\/{0,1})" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", - "calledMethod": "${Action}Licenses" + "calledMethod": "${Action} licenses" } } \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-namespaces.csv b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-namespaces.csv index 2fdd0b0..27dd6b4 100644 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-namespaces.csv +++ b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-namespaces.csv @@ -1,2 +1 @@ -Data-Catalogue,Catalogue-WS,/rest/api/namespaces/show Data-Catalogue,Catalogue-WS,/rest/api/profiles/namespaces \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-namespaces.json b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-namespaces.json index 0baeef3..b0f67a5 100644 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-namespaces.json +++ b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-namespaces.json @@ -2,11 +2,11 @@ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", - "calledMethodRegex": "(\/rest\/(api\/){0,1})(profiles){0,1}namespaces(s){0,1}.*" + "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})profiles\/namespaces(s){0,1}.*" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", - "calledMethod": "${Action}Resource" + "calledMethod": "list namespaces" } } \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-organization.json b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-organization.json index f986b45..f2c7dc0 100644 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-organization.json +++ b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-organization.json @@ -2,11 +2,11 @@ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", - "calledMethodRegex": "\/rest\/(api\/){0,1}organi(s|z)ation(s){0,1}\/(?(create|show|purge|delete))(\/{0,1})" + "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})organi(s|z)ation(s){0,1}\/(?(create|show|purge|delete))(\/{0,1})" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", - "calledMethod": "${Action}Organization" + "calledMethod": "${Action} organization" } } \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-organizations.json b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-organizations.json index 879db19..f9e22e1 100644 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-organizations.json +++ b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-organizations.json @@ -2,11 +2,11 @@ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", - "calledMethodRegex": "(\/rest\/(api\/){0,1}organi(s|z)ation(s){0,1}\/(?list)\/{0,1}.*)|(listOrgani(s|z)ation(s{0,1}))" + "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})organi(s|z)ation(s){0,1}\/(?list)(\/){0,1}.*|(listOrgani(s|z)ation(s{0,1}))" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", - "calledMethod": "listOrganizations" + "calledMethod": "list organizations" } } \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-profile.json b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-profile.json index 014d4d3..91d3501 100644 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-profile.json +++ b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-profile.json @@ -2,11 +2,11 @@ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", - "calledMethodRegex": "(\/rest\/(api\/){0,1})profile(s){0,1}\/(?(show|profile))(\/{0,1})" + "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})profile(s){0,1}\/(?(show|profile))(\/){0,1}" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", - "calledMethod": "showProfile" + "calledMethod": "show profile" } } \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-profiles.json b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-profiles.json index 2e2c84c..f38fe39 100644 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-profiles.json +++ b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-profiles.json @@ -2,11 +2,11 @@ "match": { "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", "serviceNameRegex": "Catalogue-WS", - "calledMethodRegex": "(\/rest\/(api\/){0,1})profile(s){0,1}\/(?(list|profile_names))(\/{0,1})" + "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1})profile(s){0,1}\/(?(list|profile_names))(\/{0,1})" }, "replace": { "serviceClass": "DataPublishing", "serviceName": "Catalogue-WS", - "calledMethod": "listProfile" + "calledMethod": "list profile" } } \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-resource.csv b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-resource.csv deleted file mode 100644 index 6d1a9c4..0000000 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-resource.csv +++ /dev/null @@ -1,3 +0,0 @@ -Data-Catalogue,Catalogue-WS,/rest/api/resources/create -Data-Catalogue,Catalogue-WS,/rest/api/resources/delete -Data-Catalogue,Catalogue-WS,/rest/api/resources/show \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-resource.json b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-resource.json deleted file mode 100644 index cb4b487..0000000 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-resource.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "match": { - "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", - "serviceNameRegex": "Catalogue-WS", - "calledMethodRegex": "(\/rest\/(api\/){0,1})resource(s){0,1}\/(?create|show|purge|delete)(\/{0,1})" - }, - "replace": { - "serviceClass": "DataPublishing", - "serviceName": "Catalogue-WS", - "calledMethod": "${Action}Resource" - } -} \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-resources.csv b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-resources.csv deleted file mode 100644 index 5863fff..0000000 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-resources.csv +++ /dev/null @@ -1 +0,0 @@ -Data-Catalogue,Catalogue-WS,/rest/api/resources/list \ No newline at end of file diff --git a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-resources.json b/src/test/resources/rules/Catalogue-WS/Catalogue-WS-resources.json deleted file mode 100644 index c98704e..0000000 --- a/src/test/resources/rules/Catalogue-WS/Catalogue-WS-resources.json +++ /dev/null @@ -1,12 +0,0 @@ -{ - "match": { - "serviceClassRegex": "(Data-Catalogue)|(DataPublishing)", - "serviceNameRegex": "Catalogue-WS", - "calledMethodRegex": "(\/rest\/(api\/){0,1})resource(s){0,1}\/(?list)(\/{0,1})" - }, - "replace": { - "serviceClass": "DataPublishing", - "serviceName": "Catalogue-WS", - "calledMethod": "${Action}Resource" - } -} \ No newline at end of file diff --git a/src/test/resources/rules/SocialNetworking/SocialNetworking-OTHER.json b/src/test/resources/rules/SocialNetworking/SocialNetworking-OTHER.json index 1887955..a0b0fcb 100644 --- a/src/test/resources/rules/SocialNetworking/SocialNetworking-OTHER.json +++ b/src/test/resources/rules/SocialNetworking/SocialNetworking-OTHER.json @@ -2,7 +2,7 @@ "match": { "serviceClassRegex": "Portal", "serviceNameRegex": "SocialNetworking", - "calledMethodRegex": "(\/{0,1}(rest))|OTHER" + "calledMethodRegex": "(\/{0,1}(rest))|OTHER|UNKNOWN" }, "replace": { "serviceClass": "Portal", diff --git a/src/test/resources/rules/SocialNetworking/SocialNetworking-all.json b/src/test/resources/rules/SocialNetworking/SocialNetworking-all.json index 04360e8..2c07b2a 100644 --- a/src/test/resources/rules/SocialNetworking/SocialNetworking-all.json +++ b/src/test/resources/rules/SocialNetworking/SocialNetworking-all.json @@ -2,7 +2,7 @@ "match": { "serviceClassRegex": "Portal", "serviceNameRegex": "SocialNetworking", - "calledMethodRegex": "\/{0,1}rest\/((1|2)\/){0,1}(((users(\/2){0,1})|comments|full-text-search|hashtags|messages|notifications|people|posts|tokens|vres|vers)\/){0,1}(?[a-zA-Z\\-]*)" + "calledMethodRegex": "\/{0,1}rest\/((1|2)\/){0,1}(((users(\/2){0,1})|comments|full-text-search|hashtags|messages|notifications|people|posts|tokens|vres|vers)\/){0,1}(?[a-zA-Z\\-]*(\/){0,1})" }, "replace": { "serviceClass": "Portal", diff --git a/src/test/resources/rules/data-transfer-service/data-transfer-service-OTHER.csv b/src/test/resources/rules/data-transfer-service/data-transfer-service-OTHER.csv new file mode 100644 index 0000000..938c11d --- /dev/null +++ b/src/test/resources/rules/data-transfer-service/data-transfer-service-OTHER.csv @@ -0,0 +1 @@ +DataTransfer,data-transfer-service,OTHER \ No newline at end of file diff --git a/src/test/resources/rules/gcat/gcat-OTHER.csv b/src/test/resources/rules/gcat/gcat-OTHER.csv new file mode 100644 index 0000000..c64eb5b --- /dev/null +++ b/src/test/resources/rules/gcat/gcat-OTHER.csv @@ -0,0 +1,3 @@ +DataCatalogue,science-catalogue,/index +DataCatalogue,science-catalogue,OTHER +DataCatalogue,science-catalogue,UNKNOWN \ No newline at end of file diff --git a/src/test/resources/rules/gcat/gcat-OTHER.json b/src/test/resources/rules/gcat/gcat-OTHER.json new file mode 100644 index 0000000..60ab3c8 --- /dev/null +++ b/src/test/resources/rules/gcat/gcat-OTHER.json @@ -0,0 +1,12 @@ +{ + "match": { + "serviceClassRegex": "(DataCatalogue)|(DataPublishing)", + "serviceNameRegex": "(science-catalogue)|(gcat)|(gCat)", + "calledMethodRegex": "(\/index)|OTHER|UNKNOWN" + }, + "replace": { + "serviceClass": "DataPublishing", + "serviceName": "gcat", + "calledMethod": "OTHER" + } +} \ No newline at end of file diff --git a/src/test/resources/rules/gcat/gcat-collection-instance.csv b/src/test/resources/rules/gcat/gcat-collection-instance.csv new file mode 100644 index 0000000..53a46b0 --- /dev/null +++ b/src/test/resources/rules/gcat/gcat-collection-instance.csv @@ -0,0 +1,13 @@ +DataCatalogue,science-catalogue,/groups/ABCD +DataCatalogue,science-catalogue,/groups/aaaaaa +DataCatalogue,science-catalogue,/groups/fd72502e-ddfa-4121-a12a-bb42e572d649 +DataCatalogue,science-catalogue,/items/14f76289_43fa_4a76_8f36_a48793b9dd82 +DataCatalogue,science-catalogue,/items/ABCD +DataCatalogue,science-catalogue,/items/f13813ae-7205-434d-8baf-3661ab665127 +DataCatalogue,science-catalogue,/items/restful_transaction_model +DataCatalogue,science-catalogue,/organizations/algorithms +DataCatalogue,science-catalogue,/organizations/aquamaps1 +DataCatalogue,science-catalogue,/profiles/Empty%20Profile +DataCatalogue,science-catalogue,/rest/api/items/create +DataCatalogue,science-catalogue,/users/andrearossi +DataCatalogue,science-catalogue,/users/luca_frosini \ No newline at end of file diff --git a/src/test/resources/rules/gcat/gcat-collection-instance.json b/src/test/resources/rules/gcat/gcat-collection-instance.json new file mode 100644 index 0000000..8037842 --- /dev/null +++ b/src/test/resources/rules/gcat/gcat-collection-instance.json @@ -0,0 +1,12 @@ +{ + "match": { + "serviceClassRegex": "(DataCatalogue)|(DataPublishing)", + "serviceNameRegex": "(science-catalogue)|(gcat)|(gCat)", + "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1}){0,1}(?group|item|license|namespace|organization|profile|user)s\/(?!list)[%0-9a-zA-Z\\-_]*$" + }, + "replace": { + "serviceClass": "DataPublishing", + "serviceName": "gcat", + "calledMethod": "read ${Collection}" + } +} \ No newline at end of file diff --git a/src/test/resources/rules/gcat/gcat-collection.csv b/src/test/resources/rules/gcat/gcat-collection.csv new file mode 100644 index 0000000..29206a8 --- /dev/null +++ b/src/test/resources/rules/gcat/gcat-collection.csv @@ -0,0 +1,8 @@ +DataCatalogue,science-catalogue,/groups +DataCatalogue,science-catalogue,/items +DataCatalogue,science-catalogue,/licenses +DataCatalogue,science-catalogue,/namespaces +DataCatalogue,science-catalogue,/organizations +DataCatalogue,science-catalogue,/profiles +DataCatalogue,science-catalogue,/users +DataCatalogue,science-catalogue,/rest/api/groups/list \ No newline at end of file diff --git a/src/test/resources/rules/gcat/gcat-collection.json b/src/test/resources/rules/gcat/gcat-collection.json new file mode 100644 index 0000000..e5f5e50 --- /dev/null +++ b/src/test/resources/rules/gcat/gcat-collection.json @@ -0,0 +1,12 @@ +{ + "match": { + "serviceClassRegex": "(DataCatalogue)|(DataPublishing)", + "serviceNameRegex": "(science-catalogue)|(gcat)|(gCat)", + "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1}){0,1}(?((groups(\/list){0,1}))|items|licenses|namespaces|organizations|profiles|users)$" + }, + "replace": { + "serviceClass": "DataPublishing", + "serviceName": "gcat", + "calledMethod": "list ${Collection}" + } +} \ No newline at end of file diff --git a/src/test/resources/rules/gcat/gcat-resource-instance.csv b/src/test/resources/rules/gcat/gcat-resource-instance.csv new file mode 100644 index 0000000..4d23315 --- /dev/null +++ b/src/test/resources/rules/gcat/gcat-resource-instance.csv @@ -0,0 +1 @@ +DataCatalogue,science-catalogue,/items/ABCD/resources/EFGH \ No newline at end of file diff --git a/src/test/resources/rules/gcat/gcat-resource-instance.json b/src/test/resources/rules/gcat/gcat-resource-instance.json new file mode 100644 index 0000000..3b09704 --- /dev/null +++ b/src/test/resources/rules/gcat/gcat-resource-instance.json @@ -0,0 +1,12 @@ +{ + "match": { + "serviceClassRegex": "(DataCatalogue)|(DataPublishing)", + "serviceNameRegex": "(science-catalogue)|(gcat)|(gCat)", + "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1}){0,1}items\/[%0-9a-zA-Z\\-_]*\/resources\/[%0-9a-zA-Z\\-_]*$" + }, + "replace": { + "serviceClass": "DataPublishing", + "serviceName": "gcat", + "calledMethod": "read resource" + } +} \ No newline at end of file diff --git a/src/test/resources/rules/gcat/gcat-resources.csv b/src/test/resources/rules/gcat/gcat-resources.csv new file mode 100644 index 0000000..776d371 --- /dev/null +++ b/src/test/resources/rules/gcat/gcat-resources.csv @@ -0,0 +1,2 @@ +DataCatalogue,science-catalogue,/items/ABCD/resources +DataCatalogue,science-catalogue,/items/restful_transaction_model/resources \ No newline at end of file diff --git a/src/test/resources/rules/gcat/gcat-resources.json b/src/test/resources/rules/gcat/gcat-resources.json new file mode 100644 index 0000000..97ac78d --- /dev/null +++ b/src/test/resources/rules/gcat/gcat-resources.json @@ -0,0 +1,12 @@ +{ + "match": { + "serviceClassRegex": "(DataCatalogue)|(DataPublishing)", + "serviceNameRegex": "(science-catalogue)|(gcat)|(gCat)", + "calledMethodRegex": "(\/){0,1}(rest\/(api\/){0,1}){0,1}items\/[%0-9a-zA-Z\\-_]*\/resources$" + }, + "replace": { + "serviceClass": "DataPublishing", + "serviceName": "gcat", + "calledMethod": "list resources" + } +} \ No newline at end of file