@@ -922,6 +922,196 @@ func TestPackageIndexPackagesPlatformsToolsDependenciesVersionNonSemver(t *testi
922
922
checkPackageIndexRuleFunction (PackageIndexPackagesPlatformsToolsDependenciesVersionNonSemver , testTables , t )
923
923
}
924
924
925
+ func TestPackageIndexPackagesToolsMissing (t * testing.T ) {
926
+ testTables := []packageIndexRuleFunctionTestTable {
927
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
928
+ {"packages[].tools missing" , "packages-tools-missing" , ruleresult .Fail , "^foopackager$" },
929
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
930
+ }
931
+
932
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsMissing , testTables , t )
933
+ }
934
+
935
+ func TestPackageIndexPackagesToolsIncorrectType (t * testing.T ) {
936
+ testTables := []packageIndexRuleFunctionTestTable {
937
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
938
+ {"Incorrect packages[].tools type" , "packages-tools-incorrect-type" , ruleresult .Fail , "^foopackager$" },
939
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
940
+ }
941
+
942
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsIncorrectType , testTables , t )
943
+ }
944
+
945
+ func TestPackageIndexPackagesToolsAdditionalProperties (t * testing.T ) {
946
+ testTables := []packageIndexRuleFunctionTestTable {
947
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
948
+ {"Additional packages[].tools[] properties" , "packages-tools-additional-properties" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2$" },
949
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
950
+ }
951
+
952
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsAdditionalProperties , testTables , t )
953
+ }
954
+
955
+ func TestPackageIndexPackagesToolsNameMissing (t * testing.T ) {
956
+ testTables := []packageIndexRuleFunctionTestTable {
957
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
958
+ {"packages[].tools[].name missing" , "packages-tools-name-missing" , ruleresult .Fail , "^/packages/0/tools/0$" },
959
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
960
+ }
961
+
962
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsNameMissing , testTables , t )
963
+ }
964
+
965
+ func TestPackageIndexPackagesToolsNameIncorrectType (t * testing.T ) {
966
+ testTables := []packageIndexRuleFunctionTestTable {
967
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
968
+ {"Incorrect packages[].tools.name type" , "packages-tools-name-incorrect-type" , ruleresult .Fail , "^/packages/0/tools/0$" },
969
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
970
+ }
971
+
972
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsNameIncorrectType , testTables , t )
973
+ }
974
+
975
+ func TestPackageIndexPackagesToolsNameLTMinLength (t * testing.T ) {
976
+ testTables := []packageIndexRuleFunctionTestTable {
977
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
978
+ {"packages[].tools[].name < min length" , "packages-tools-name-length-lt" , ruleresult .Fail , "^/packages/0/tools/0$" },
979
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
980
+ }
981
+
982
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsNameLTMinLength , testTables , t )
983
+ }
984
+
985
+ func TestPackageIndexPackagesToolsVersionMissing (t * testing.T ) {
986
+ testTables := []packageIndexRuleFunctionTestTable {
987
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
988
+ {"packages[].tools[].version missing" , "packages-tools-version-missing" , ruleresult .Fail , "^/packages/0/tools/0$" },
989
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
990
+ }
991
+
992
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsVersionMissing , testTables , t )
993
+ }
994
+
995
+ func TestPackageIndexPackagesToolsVersionIncorrectType (t * testing.T ) {
996
+ testTables := []packageIndexRuleFunctionTestTable {
997
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
998
+ {"Incorrect packages[].tools[].version type" , "packages-tools-version-incorrect-type" , ruleresult .Fail , "^/packages/0/tools/0$" },
999
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1000
+ }
1001
+
1002
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsVersionIncorrectType , testTables , t )
1003
+ }
1004
+
1005
+ func TestPackageIndexPackagesToolsVersionNonRelaxedSemver (t * testing.T ) {
1006
+ testTables := []packageIndexRuleFunctionTestTable {
1007
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1008
+ {"packages[].tools[].version not relaxed semver" , "packages-tools-version-non-relaxed-semver" , ruleresult .Fail , "^foopackager:openocd@foo$" },
1009
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1010
+ }
1011
+
1012
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsVersionNonRelaxedSemver , testTables , t )
1013
+ }
1014
+
1015
+ func TestPackageIndexPackagesToolsVersionNonSemver (t * testing.T ) {
1016
+ testTables := []packageIndexRuleFunctionTestTable {
1017
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1018
+ {
"packages[].tools[].version not semver" ,
"packages-tools-version-not-semver" ,
ruleresult .
Fail ,
"^foopackager:[email protected] $" },
1019
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1020
+ }
1021
+
1022
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsVersionNonSemver , testTables , t )
1023
+ }
1024
+
1025
+ func TestPackageIndexPackagesToolsSystemsMissing (t * testing.T ) {
1026
+ testTables := []packageIndexRuleFunctionTestTable {
1027
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1028
+ {"packages[].tools[].systems[] missing" , "packages-tools-systems-missing" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2$" },
1029
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1030
+ }
1031
+
1032
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsMissing , testTables , t )
1033
+ }
1034
+
1035
+ func TestPackageIndexPackagesToolsSystemsIncorrectType (t * testing.T ) {
1036
+ testTables := []packageIndexRuleFunctionTestTable {
1037
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1038
+ {"Incorrect packages[].tools[].systems type" , "packages-tools-systems-incorrect-type" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2$" },
1039
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1040
+ }
1041
+
1042
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsIncorrectType , testTables , t )
1043
+ }
1044
+
1045
+ func TestPackageIndexPackagesToolsSystemsAdditionalProperties (t * testing.T ) {
1046
+ testTables := []packageIndexRuleFunctionTestTable {
1047
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1048
+ {"Additional packages[].tools[].systems[] properties" , "packages-tools-systems-additional-properties" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - aarch64-linux-gnu$" },
1049
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1050
+ }
1051
+
1052
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsAdditionalProperties , testTables , t )
1053
+ }
1054
+
1055
+ func TestPackageIndexPackagesToolsSystemsHostMissing (t * testing.T ) {
1056
+ testTables := []packageIndexRuleFunctionTestTable {
1057
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1058
+ {"packages[].tools[].systems[].host missing" , "packages-tools-systems-host-missing" , ruleresult .Fail , "^/packages/0/tools/0/systems/0$" },
1059
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1060
+ }
1061
+
1062
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsHostMissing , testTables , t )
1063
+ }
1064
+
1065
+ func TestPackageIndexPackagesToolsSystemsHostIncorrectType (t * testing.T ) {
1066
+ testTables := []packageIndexRuleFunctionTestTable {
1067
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1068
+ {"Incorrect packages[].tools[].systems[].host type" , "packages-tools-systems-host-incorrect-type" , ruleresult .Fail , "^/packages/0/tools/0/systems/0$" },
1069
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1070
+ }
1071
+
1072
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsHostIncorrectType , testTables , t )
1073
+ }
1074
+
1075
+ func TestPackageIndexPackagesToolsSystemsHostInvalid (t * testing.T ) {
1076
+ testTables := []packageIndexRuleFunctionTestTable {
1077
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1078
+ {"Invalid packages[].tools[].systems[].host format" , "packages-tools-systems-host-invalid" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - foo$" },
1079
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1080
+ }
1081
+
1082
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsHostInvalid , testTables , t )
1083
+ }
1084
+
1085
+ func TestPackageIndexPackagesToolsSystemsUrlMissing (t * testing.T ) {
1086
+ testTables := []packageIndexRuleFunctionTestTable {
1087
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1088
+ {"packages[].tools[].systems[].url missing" , "packages-tools-systems-url-missing" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - aarch64-linux-gnu$" },
1089
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1090
+ }
1091
+
1092
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsUrlMissing , testTables , t )
1093
+ }
1094
+
1095
+ func TestPackageIndexPackagesToolsSystemsUrlIncorrectType (t * testing.T ) {
1096
+ testTables := []packageIndexRuleFunctionTestTable {
1097
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1098
+ {"Incorrect packages[].tools[].systems[].url type" , "packages-tools-systems-url-incorrect-type" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - aarch64-linux-gnu$" },
1099
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1100
+ }
1101
+
1102
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsUrlIncorrectType , testTables , t )
1103
+ }
1104
+
1105
+ func TestPackageIndexPackagesToolsSystemsUrlInvalidFormat (t * testing.T ) {
1106
+ testTables := []packageIndexRuleFunctionTestTable {
1107
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1108
+ {"Incorrect packages[].tools[].systems[].url format" , "packages-tools-systems-url-invalid-format" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - aarch64-linux-gnu$" },
1109
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1110
+ }
1111
+
1112
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsUrlInvalidFormat , testTables , t )
1113
+ }
1114
+
925
1115
func TestPackageIndexPackagesToolsSystemsURLDeadLink (t * testing.T ) {
926
1116
testTables := []packageIndexRuleFunctionTestTable {
927
1117
{"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
@@ -931,3 +1121,113 @@ func TestPackageIndexPackagesToolsSystemsURLDeadLink(t *testing.T) {
931
1121
932
1122
checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsURLDeadLink , testTables , t )
933
1123
}
1124
+
1125
+ func TestPackageIndexPackagesToolsSystemsArchiveFileNameMissing (t * testing.T ) {
1126
+ testTables := []packageIndexRuleFunctionTestTable {
1127
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1128
+ {"packages[].tools[].systems[].archiveFileName missing" , "packages-tools-systems-archivefilename-missing" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - aarch64-linux-gnu$" },
1129
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1130
+ }
1131
+
1132
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsArchiveFileNameMissing , testTables , t )
1133
+ }
1134
+
1135
+ func TestPackageIndexPackagesToolsSystemsArchiveFileNameIncorrectType (t * testing.T ) {
1136
+ testTables := []packageIndexRuleFunctionTestTable {
1137
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1138
+ {"Incorrect packages[].tools[].systems[].archiveFileName type" , "packages-tools-systems-archivefilename-incorrect-type" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - aarch64-linux-gnu$" },
1139
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1140
+ }
1141
+
1142
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsArchiveFileNameIncorrectType , testTables , t )
1143
+ }
1144
+
1145
+ func TestPackageIndexPackagesToolsSystemsArchiveFileNameLTMinLength (t * testing.T ) {
1146
+ testTables := []packageIndexRuleFunctionTestTable {
1147
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1148
+ {"packages[].tools[].systems[].archiveFileName < min length" , "packages-tools-systems-archivefilename-length-lt" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - aarch64-linux-gnu$" },
1149
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1150
+ }
1151
+
1152
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsArchiveFileNameLTMinLength , testTables , t )
1153
+ }
1154
+
1155
+ func TestPackageIndexPackagesToolsSystemsArchiveFileNameInvalid (t * testing.T ) {
1156
+ testTables := []packageIndexRuleFunctionTestTable {
1157
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1158
+ {"Invalid packages[].tools[].systems[].archiveFileName format" , "packages-tools-systems-archivefilename-invalid" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - aarch64-linux-gnu$" },
1159
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1160
+ }
1161
+
1162
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsArchiveFileNameInvalid , testTables , t )
1163
+ }
1164
+
1165
+ func TestPackageIndexPackagesToolsSystemsChecksumMissing (t * testing.T ) {
1166
+ testTables := []packageIndexRuleFunctionTestTable {
1167
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1168
+ {"packages[].tools[].systems[].checksum missing" , "packages-tools-systems-checksum-missing" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - aarch64-linux-gnu$" },
1169
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1170
+ }
1171
+
1172
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsChecksumMissing , testTables , t )
1173
+ }
1174
+
1175
+ func TestPackageIndexPackagesToolsSystemsChecksumIncorrectType (t * testing.T ) {
1176
+ testTables := []packageIndexRuleFunctionTestTable {
1177
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1178
+ {"Incorrect packages[].tools[].systems[].checksum type" , "packages-tools-systems-checksum-incorrect-type" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - aarch64-linux-gnu$" },
1179
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1180
+ }
1181
+
1182
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsChecksumIncorrectType , testTables , t )
1183
+ }
1184
+
1185
+ func TestPackageIndexPackagesToolsSystemsChecksumInvalid (t * testing.T ) {
1186
+ testTables := []packageIndexRuleFunctionTestTable {
1187
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1188
+ {"Invalid packages[].tools[].systems[].checksum format" , "packages-tools-systems-checksum-invalid" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - aarch64-linux-gnu$" },
1189
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1190
+ }
1191
+
1192
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsChecksumInvalid , testTables , t )
1193
+ }
1194
+
1195
+ func TestPackageIndexPackagesToolsSystemsChecksumDiscouragedAlgorithm (t * testing.T ) {
1196
+ testTables := []packageIndexRuleFunctionTestTable {
1197
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1198
+ {"packages[].tools[].systems[].checksum uses discouraged algorithm" , "packages-tools-systems-checksum-discouraged" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - aarch64-linux-gnu$" },
1199
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1200
+ }
1201
+
1202
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsChecksumDiscouragedAlgorithm , testTables , t )
1203
+ }
1204
+
1205
+ func TestPackageIndexPackagesToolsSystemsSizeMissing (t * testing.T ) {
1206
+ testTables := []packageIndexRuleFunctionTestTable {
1207
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1208
+ {"packages[].tools[].systems[].size missing" , "packages-tools-systems-size-missing" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - aarch64-linux-gnu$" },
1209
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1210
+ }
1211
+
1212
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsSizeMissing , testTables , t )
1213
+ }
1214
+
1215
+ func TestPackageIndexPackagesToolsSystemsSizeIncorrectType (t * testing.T ) {
1216
+ testTables := []packageIndexRuleFunctionTestTable {
1217
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1218
+ {"Incorrect packages[].tools[].systems[].size type" , "packages-tools-systems-size-incorrect-type" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - aarch64-linux-gnu$" },
1219
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1220
+ }
1221
+
1222
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsSizeIncorrectType , testTables , t )
1223
+ }
1224
+
1225
+ func TestPackageIndexPackagesToolsSystemsSizeInvalid (t * testing.T ) {
1226
+ testTables := []packageIndexRuleFunctionTestTable {
1227
+ {"Invalid JSON" , "invalid-JSON" , ruleresult .NotRun , "" },
1228
+ {"Invalid packages[].tools[].systems[].size format" , "packages-tools-systems-size-invalid" , ruleresult .Fail , "^foopackager:openocd@0\\ .11\\ .0-arduino2 - aarch64-linux-gnu$" },
1229
+ {"Valid" , "valid-package-index" , ruleresult .Pass , "" },
1230
+ }
1231
+
1232
+ checkPackageIndexRuleFunction (PackageIndexPackagesToolsSystemsSizeInvalid , testTables , t )
1233
+ }
0 commit comments