diff --git a/tests/integration/api_packages_arch_test.go b/tests/integration/api_packages_arch_test.go index 817ebc66d5..8a90a75df7 100644 --- a/tests/integration/api_packages_arch_test.go +++ b/tests/integration/api_packages_arch_test.go @@ -22,357 +22,129 @@ import ( ) func TestPackageArch(t *testing.T) { - const firstPackage = `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 -smiYikcA2Mk=` + const firstPackage = `KLUv/QRYlUcA6nxwGD6gsLQNvOd6axb347rXM33zsZKpE9vgsf0Ld/n//99rY7sJi2vbpBtD3se3 +qPGsw5p1E4nc33ohr0LLfwiK+m8BUgFTAdxyVWq/0afytiwo9jGT9PRVrkKxE/tIJX36mOzYG7Wv +cveuyTpPM0VnlTUUv80UWkllNk8Tq7PKL8Sb6bbk0hjizOq2xCR97KvMnb1Ul3dztp2HuEjs2egb +uesZ3W+P2oIaN23sMXUNXg7nDnfbeRbFzuFsxDvR03h3fqkuHoq4a7Eo/DA3anWX1V1WZ7vOaItZ +7Lquc+wZXaorKbz152+3ZcFLdWVR7H3bzou+lj7al49HFxRZR5fq2piiNtQpNVMbvVTX7dYr2jGu +UEkMWyGNS3XtIovSVprGddxJsxidXmo1VxlGM5vR1Mmzp0yrp9XqrjQ7T/duKXuyM5t281IrLts8 +eqkucOSbVi2L5/AyHrMtx4ZaulQXq9v2a+kiKumluvZN4pb7WrrofrbVWX2prgva8Gvponqprm7B +La6uLop7TgDbdj7OC0B2wiqdFz1pWZbVLcvopWlbpRPAlWXbnBMAUgoYLE64YEGjxAfbByo5v3nW +p1LjdguTngi2fnvKdFse19roT9nJUOQZ/SpDkfPQ7tgqpRqjnn6gkt/M2a5x9pust4/i1vixkxy7 +VN1m16+0ocX1hP2UtltPiVXpU6lxEyZvxuO3WombPib13R+tT+UFP/3x3Mfwy75+lZ8eQw1+J+yr +7Dict9NXWTmc60/Zl27v98PqUwlyHudwll33VSq7rPu+viZbSvbLlm6en/rMC7Gn88HbORO/Ga+y +7DV5M15V7Knsorhvy6661Ut/yp5K/olb81W9kz62WmGvPja/yn21tqC8HU663nxNduzdb+Qu6jP6 +VPIRVR97TWKvcV7Fvv4mOU/Or4+SeY/d9lXqsV/eNdPGPnW3mHpM2pxxkwhqMzVrnVXy222HV7jv +20nboarGTZXK1M+nEucu7vqox2Qo8k3O7KvkGfcxxFwmNzqfviZZVOabdD1M3h3HINfzM/mFkutO +3FrUqKdfSzPtHt4Q6w17TeZ9dfaTynp3p3E3qdz+9FWyum71pLXOClqNvfZUglajOsd5i3tj8CRl +aMHO6sx5eLX4VLK6DlO937BqObLfJL98j11I9c+vn8m90mD2WYp+9lRmYCpryr9Jvq9nL0tibSvl +4e0o/SprBpc27LPPlh77KcW+bxKH875dg7ePHM6d43C0K1R36ech83D67KvMotg37in6maQhtx2V +PSbvHru2nVyJW3MmzuFcWZzPu7vLNSh23eWomrnlVE/baQ5n3JKUaixrWu+sL6y9hjj3G67CVmd3 +D0Oxy7Fvz3jVb8jhTKnsNKj9fCpzCHI4v5ctx1v1p8wcczhnNfTwFve+8tPfpE/lx+GcPSbxasXh +nH2VPbxJF0V/ylW+HM6on/ILbcfhrDkO5y20I+eWw/n0mLxJmNVty+GMBUXzUl23CXNR3320b6gk +HoFi9zdr0C7do6MPXPfOulRX3mMR3h2/3pXH1eU0LtXV8etdoYj5vknXF2I+XheYuMu73e4bXhXX +hVNGaz1hKlrE+AB5hBg/RgQQAsPFQRQFf26EsFG04gwPaqAAlSeClrQACD4s2bkwg9uzJgTSDBxE +FtQ41OHTIlDYgLMqcdA8UEMDwRsrbA7NJXgOzZkjYgKI+WWRoiYICyk45FRxM8NEkTxZBBBMAkDB +oKYNBuFCgA4zQxYlE5DOHLiyxaQw02JKmRNDJuCw00NGi+4ETQMCSLQM+gAmYOI1aACo0BUygUeY +OgxWZEmyBQYWMYEQIbLixRDSEi584GARQAZNjid9hiCgWnzQEdTkI4kVMnoUgJFwwNwp9CfCKQ2g +HU2iQOHwAwkpgAoeAnhs0CDoi44KEgQQiGFUoIuX1ptEZgCxGBPCEBAEJAbA+JLExwADRyzQeqLY +zOZEgULGjBfvdd5Ev3I4N2WvyaYlWjFLCfsqM+5jh9VZmzrlvMsK6n6S4irES7djT+W2HRS7JM7E +T49pVXr6M/qpp1L0Rl47zjw4/UwqiZ5l8c+kd/mcN8TZs3c/VmWBFaiRHKSYQggxNDMjBUmyHHEE +hCDonKSQDxJAUFGMQRAIQxAEQhCGolCgZsokSJCknBQWWgMMyBbo9PMBsFwQnPDPtvRb/dr0T6ca +rtWEfRFesPpr1z8Hfi1LxlZ7GHuAqLAB/NNkT2fx9grmc8euvTXOAFacJCHIHICRPX0dBGk3RXcV +O9Vbi1MpQyibg34fKNSG4gIAImaNUbIu0zfT9FobmWjMOOItiiByrLEAB6d8YsQZbHhLrsELnaDN +YwLqgJZWL5Vift1uHpg7gRyXkl2anG/zeyw1mIGTPwyZqFfredyRUiNx6NtKPFgwNYHNOPVomgJM +BaZp2FQUdJDBjT42M7a1kJEekgrdLcA1m0WTzMdEe+7KcX/e8MttkzdAsRKuH4mndiUf8jnMxYj8 +J80ggDEVFkFGIIOGiFOY0GDf8XoZ0rarlrzAoXFcSQfwQzQE6hBdPKxtrb3F5CUsCvwdwovq+VMV +5/sQEYCRaRsDohAoCw3tOMLg9pbOS+5ARZR9JDx5ScgyXOo5O6pbsBi1V7aja81BSEGZQFzHzpIv +NvXb/U5ZNldpCgWmyJfNGgiJJwIzzEgG5DChlpsh2W07AybfEiJWG8YZTMRChZk1dCnsTGxXdAKb +yEkYN9mks01OZ1gyVQaSakNg88h7upWYM40YIx4EJuyAwSP1yhfZPk6ZxNU3TrQygytGzwUxS2QO +IkJ4YHo8TXvkN5vq2aWjzeEJBFWQHV5rkrC1HkgK9Zk0B3RoSs2/mBmuI0iGSroNA/xAictf1DqT +0HVqqjQg1ACXRABLTDRjhUSa9kjdMcX9YypiMXY4iECBSl4oQeIQ112zLCppoz+HULQL+csQyVJc +CLajh0i2JJvzlFnmg2XIndtEIyTU7MyAiE8KO7SOxFc9mlYAyXKFFBFJkas615qu3PEr6bRA27AE +weALS7CuDOK6KF6YdYvOWdiCAoHI6xI=` firstPackageData, err := base64.StdEncoding.DecodeString(firstPackage) assert.NoError(t, err) - const firstPackageSignature = `iQGzBAABCAAdFiEEQ6WNuVKuWHQJqhdSETT46/mKoG8FAmSsBgkACgkQETT46/mKoG+Qsgv/WcrY -nMQ0BH6n+MAc99puw/VEj1o/qwwwrYV1jNIIWfWaMnlZHiTgShxfcfDgnjhMDnJGslia2mIBZoBy -JRUf/KuWye22MH3uzBIK2gz4RFt6qA57ZaU7y3YYrJ6pbwNvwayjuUa9Z8PEDs0t04mEiPhJYJVU -cM0mtWZUuYQt7kdnqm8Oxx0RSMPamQ/c/wC+h6p/DWMngoWgmDKbKwNA9/UjDrQujuwwVU1bUiUk -cX/cACNaTVcsIjSe9wD7xLqvBblCdjvl8fumYRYH2t/oj86HTLiCswEMYqsgf+NQ9ZFBSxd82Bay -vhhZgJPEjDBykHKdhqD/WZdOE97TwlbySg8l5oY9yUBrV0iim+FuqX+bD/X82IzE11597SG2V50z -K1/Xdvx76yOUHSO0t/731d/LyGxEVoD2ITwM5GgJgTYnOByaI4mkr9iz6OeIwHVgcTFYcQ+lMP5c -jMF9gK0ZWKyVAYH5FFhDJAm+lxWpcBu0Fnpj56LGqcaDORsvIVkA` + const firstPackageSignature = `iQEzBAABCAAdFiEEdez1wBMjH7w+s6HCOjpq1/IBK5QFAmTKScUACgkQOjpq1/IBK5RDjwf/YZQS +QM9JgxtNqp9jxT7eqyNtYY5Jwte6Fpq6RpOd2qbkJodJVrAp0HAWPS71W9k0lhvOSeq4hL7jufUR +y5gmbvmN6CqOjoMAnSxe51OKgZuPb8fbWrpt58BqtR7iCtPav1tMG9lpIPWSLS2/jxoTIxjcgVQJ +05s2bqUtpoDy5fCB2Y5tdIPQbMjSr6/TkmWg4ulwactJg46bWgowwKxnWzUx7IYPjC3lwknU6Mll +DArW/X0zMaFT3zuMBJFlbSzv59tcH0yICa1yMRtWCnbufZo6Q/BUvZ3P3Wr/APokAEt5U1U/u0EK +Qck04tbpECPL0eABIygaLmwqii6wX6NIYA==` firstPackageSignatureData, err := base64.StdEncoding.DecodeString(firstPackageSignature) assert.NoError(t, err) - const firstPackageDatabase = `H4sIAAAAAAAA/+ySwY7TMBCGe56nyGWOTcd2PE4QQoQmZSPaBTWUAxfkON626rYbNV6p8PSoXYTY -XlGF0Pa7jMf6JfsbTfB96DbLoRiKUet7N7gARETGmFMlovNKTPL3+XQvJCkaRHSJz5zz2Ae7H9Bf -v3Uu95+Ak2pa3uazEuGPVRgeUv7GSdxtlnGw+/hHHwDwWQwA3+X1s/5LOa+rj7cIYigAsCjrMcJk -ve9DdAxFnXUbu/QAOK6rryVCykIDYPXUEQDOCl0vZgjsRdtmaaqMTlLyJGzD1EonrNOcOAeA9U0u -NZ/SjZAti8TIVElrWSestffGi4aYnWq0UVLphpWV5IVsMs+Zc+auJXbS2hYAF/MpwiqErn81GvmD -3Xb3PnYP29EvvaNQPh/fIDyN5qi/qKZFkX8uEQSnaZZppRgAP+XjD/n7co5Q2N363kaTh+16932z -il63dudWfpmZt3fb3SHuH98A/OsNuHLlykvlZwAAAP//LUzfXwAIAAA=` + const firstPackageDatabase = `H4sIAAAAAAAA/+ySQW+cMBCF9zy/Yi9zBMZgbOiNAm1Qd9MISg+9VLbXTqNNAAFRov76it2qavZa +RVUkvst4rJH9/PwGZY7q1nrMY8HBTmbzChARSSlPlYguK8WC/Vmf9hmTXGy29BpiLnmcZjVu6J/v +unzcGwE/VLvyOtuXCH9FwXtOxHfB/eF4689q9H9OMwC+GAPA91nzov9a1k31+RqBeQwAi7LJEdrJ +usf77ZKt8W6Y7/oOAPOm+lYihBFFAFidOwLAfRE37R5BHwxLnYoY06lUWnCKJFfGakYsTEQIgM1V +FsbiNB0ro0MTkTah0TzRsSXhbHhwziklVWStIKYkiSTlSlspuBBSac0Sbo1zi9i23iH8mOdhehcE +9lk9DPfWN/1D0D91dgxGO/QAmNX5FcLZnMWAttoVRfalRGAipVQmIlkOu8nyT9nHskZou2PXP3Xb +m7NJI8D//vCVlZWV3/wKAAD//xmJdqQACAAA` firstPackageDatabaseData, err := base64.StdEncoding.DecodeString(firstPackageDatabase) assert.NoError(t, err) - const secondPackage = `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 -vr+IaHkXRTJq3F/slEXDVATl77ij` + const secondPackage = `KLUv/QRYPUcA+nxYGD6gsLQN5PnPkjy6fXl2KEtLb63ASYEmmw08uPr///fa2G7C4lq3UGMDqi4V +ALcz1mwbtcj9A2UA4JPvxl6MF28BUgFTAVuVp9foU3lbFhT7mEmK+iq9UOTEPlJJnz4mO+7G01e5 +ez/JOlFTRWeVNRQ/ptBKKrOJmlidVX4h3ky3JZfGEGcWtzMNh5Zakpikj32VmbPX6upuzrbzEBuJ +PUf4xu12Ee63R21BjZs27pi6Bu+GM4e77TyLYt9wjsA5sdN4d36tLh6KuGvRKPwwj9DiLou7LM5y +XIQtZpHjuM5xF+FaXUnhrT9fuy0LXqsri2Lv23Zu9LX00b58PLqgyDq6VtfGKhQqhVJNlUav1XW7 +7Yz2iitUEsNWCONaXdtIqx52utxmOxQKq/NyqDlPk1NdT5upelNdVzN7563b9LTZ0aqqt6ObpZvK +qyltXqsLHLl2qpbFcXQZj0yhvVYXi9v2a2kjKum1uvZN4nb7WtrofrbFWX2trgva8Gtpo3qtrm7B +LXpXF8U9J4BtOx/nBYCisErnhWGoLMuqlmX0qiet0gngyjJtzglAxYgUJUIglYDx4QNUcn7zrE/l +adstTHYi2HrtKdNtdVtLoz8lJ0ORZ/SrDEXOQ6tDq5RqnHq6gUp+82a7xtlrst4+ilvjx1By5FRV +m1y/0oYWVxT2U9puOyVWpU+lxk2YvBmPn+eJmz4m9d0frU/lBT/98dzH8Mu+fpWfHkMNfijsq+Q2 +nDXUV1k3nOtP2Zdu7/fD6lMJbh3fcJYc91UquYz7vv5JtpTsly3dPF/1WRdiT+eDt3MmfjP2suxP +8mbsVeyp7KK4b8t63eqlR2VPJf/ErblX76SPeR7u6mPzq9xXawvKy+Gk280/yY67+43bTX1Gn0o+ +pupjf5LYn7auYl9fk1sn59dPybxHTvsq9dgv75ppY6+6W1Q9Jm3OuEkET1M1a51V8tsthz3c9+Wk +5VJV46ZKpernU4lzF3f91GMyFLkmZ/ZV8oz7GOItkxqdT/8kWVTmm3Q7TF5uAxjken4mv1ByzYlb +izr19Gtppt3DG2KtYX+SeV+d/aSy3s1pzE0qtUd9lSyuWz1prbOCVmN/eipBq1Od47zFvTGIkjK0 +IGd15jy8WnwqWV2Hqt5vWE84stckv3yPXEj1z6+fye1pMPtMRT97KjNQlTXl1yTft7OXJbG2lfLw +cpR+lTWDSxr22WdLj/2UYt83acN5367B28cN585xOFovxV36ZcgyoD77KrMo9o27in4machtT2WP +ybvHri0nPXFrzsQ3nCuL83k3d7kGRY67PFUzt5zqaTm94YxbklKN5dOpd9YX1l5DnPsNvbDF2d3D +UORw7Nsz9voNN5wplZwGTz+fyhyCG87fZbvxVv0pM8cbzlkNO7zFva/89DfpU/ltOGePSex5G87Z +V9nDm3RT9Kf08t1wTv2UX2i5DWe9bThroR05txvOqMfkTcIsbtsNZ0zbEEbzWl23CXNR3320b6gk +HoEi9zdr0C7do6MNXPfOulZX3qMR3hy/3ZVH73IY1+ri+O2uUMR836TrCzEfLwlM29XdbvcNL4lL +AnaiFaVhJE6s+AA5TI4VOACRlwlwBHRJZLDZFE5sMDLFEJgsTOio4BW2DUh4ggBFXPxMudLSYsTk +A0icCxiUSJAyxsqXITdYFLikk4ElMkhm+CjCgQOPgkS2KYD8kxTgBYiKBMlLnDcubCBJ05oRINWA +BtLop45XosUKC2AUOFlY6AmiQYQDzwmLPE5ScPCg0aEFyBkuIR7cQX0OliUtI0g4QEDKEkRMCB05 +7gbBe2KVlHwh8qKDDlHm+AgJNQmyJkoUpTc/BHR1zKjpU4jDEaArJ0H2jqEYcpyoeiQIEqgIEniA +gVIVN13ssNA19pTYEkBQlwWqECPmUElz6MgvKrNBWRSIAAIPA0yMacNDQAEhECqKYjObU4SIFi9Q +fNd5E/264dyU/Uk2LdGKWUrYV5lxHzmsztrUKeddVlB3lBS9EC/djj2V23ZQ5JI4E0c9dqqy05/R +Vz2VYjfy2nHewelnUknsLIt/JrvL57whzp29+7EqOR6BFKiRHKSYQggxNDMjBUmyHHEEhCDonKSQ +DxJAcFGKQRAIQxAGQhCGolCgZsoUFBSknNJCaxLIFuLu8wEs1xIq/L/t/VY/OP3dqYbLsrBfxw5W +cvD6s/Cv/cvYagebBwgUG8B/WPN0YPGWImZwya7tsnkAK6GnndwczJA9fR0EafdFdxk7lVqLXylD +l81lvycUSkMRAwBBs8Y2WZfpW2l6rR1MNGYc8RZFEDnFWLCDUwoxkgw2uiU3wUtO0PoxwXRAS6uf +SjG6bucH5mYgx0nJPk1O2/zuyxjMwMlfhkzEqzU17siikQD0bSkeNJiaYjP6/Z6mwFcBaBqWFQWF +ZXDvjs28bS1upEdSobsFeM1mwSQzmWjKXXncnxk+c9ukDVCEhOtU4ilNyQd2DqMwk/+sGQR0TAVE +kDHIoCPi1CQ0CHe8V4Y029VBXuBsHLfcAfwQDUUdlotXa9trfzGZCYsOf0d4UT9/CsX5HiKCsD1t +k0UUDmVhooUjEDzfknjJEKiIvo+EJ4cJeYZLNmfXdAsWo+XKdvSsOVApMBMI4dgh+YKmfufflOV+ +lV6hgBS5s1mDkPhE4MKMeHAOk2y5GZLdujOA+ZYnYsUwXsEELFSYWUuX8s5cdUVX2ASdhGmT7Tpz +cnrHkqk1wFTbAptj3tOthM9UxRjhINCwAwweiSv/yHY5ZR5XxzhRywxiGb0Q3CwROUgI4Yfp8TTt +kV/aVGSXqjaHJxCpIH14LUhiaz0jKdBnbA7UoSmYf+FmGI7gG6rlNgzwAyUuf1HrTCbXKVOlAKEe +XF4BLD3RTCsc0nRH2o5p6R9rEdvYiyBiDyqpogShQxzsmnGpBOiHtFETHT+pV6+EY8/bCavohoSI +88iZNYTdzZ3RRGogZlPW6YbdqMPzqp1J64BkWgkRjSRHVMMs/JVreyWdFvgalsYYrLAH1s+Ir4vi +hVm78J3RLCgQ9mBp` secondPackageData, err := base64.StdEncoding.DecodeString(secondPackage) assert.NoError(t, err) - _ = secondPackageData - const secondPackageSignature = `iQGzBAABCAAdFiEEQ6WNuVKuWHQJqhdSETT46/mKoG8FAmSsBg8ACgkQETT46/mKoG/t4wv8D6jQ -uNLj1vvVUlt3cXJ8dulp1TuR0KQrGxqPm/fhCNoEncffR1+1ehMjd69XlsA5XcGxY55QGjKK/W5z -LOZDXatNLTi6PRx1ApbbA7gCCzx/Tx0gF0sCe75Wu286j9ud8xFx8/ray8yS9iV6K6XpsOZUnVEw -yWC6DKsGb2Tv2VvRkj3yNo9ZdTlJOpmLX/OHjAOlFCTxJpa3Nf4YDc5V2d4xYzG0eeCasJueNHYz -d29ZdB58jZQj4ZUuv2Ln/fc2kmmBA4PIZaoTkc9kFwdYFIQV+c1OM6kTPnt5GJffNg7EgCVyv6ON -TJM9ud9iHaxwz+keBa/yQqEq4PFLNT0+IiCmidTpZI9iFVByqbXNuoKti0bdJ2pjnKRcSYWVV1AO -V8m4OwfXaTgsNr41SW9hZJnPUknJFACgc2LVJtJNVFwfb9iyRMdPCUD0NZ/6z28XL11vcNFbJldG -V2DfzGUB63cabGvZKvYMynHjfaxo8MwKVjUzgvWqMfNL2P5QpQ6S` + const secondPackageSignature = `iQEzBAABCAAdFiEEdez1wBMjH7w+s6HCOjpq1/IBK5QFAmTKSigACgkQOjpq1/IBK5TnkQgAotU2 +kdi275k87qzRLp4SgOX4QTpwCyjmXK4ZEm/FGBiF84mYT/sQmKbSsxPbxd4lumHhbll5SMVdM3C+ +1pB4kWT1fewQi1YukGEe+Na6SAa33yQqQThf30WPYJhuOxSNDX0DNCrR7Ei98hNq0FuvZkZWzepF +ylhUP+OSGPWFsVOnXCaANxW6457LtnNPeQFDwQL2y9qv0Hgpnn3KS09n0SPXT2Kr02iYu9rICoOB +KsqYqMGxHoPypwT24o6oDElGt9/Z0pqZcwRJc7C0npv3q5a17S7nAdo8/NWgfDri7w224s8odtWy +qTAeEmTTQ8awXFYounZaHg+455+8u5npkw==` secondPackageSignatureData, err := base64.StdEncoding.DecodeString(secondPackageSignature) assert.NoError(t, err) - _ = secondPackageSignatureData - const secondPackageDatabase = `H4sIAAAAAAAA/+ySQY/TMBCFe55fkcscm47teJwghAhNyka0C2ooBy7Icbxt1U02arJSl1+P2kWI -7RVVCNHvMh7rSfZ7eoPvh263HouxmNS+d6MLQERkjDlNIjqfxMS/zqd7IUlFo4Au8ZlzHvvB7kf0 -x2+dm/tHwFkxz2/TRY7wWxXGh5i/cRR2u3U42H34vR8A8IUMAN+l5Yv9S74si4+3CGIsADDLyynC -bLvvh+AoCjrrdnbtAXBaFl9zhJiFBsDieSMAXGS6XC0Q2Iu6TuJYGR3F5EnYiqmWTlinOXIOAMub -VGo+qSshaxaRkbGS1rKOWGvvjRcVMTtVaaOk0hUrK8kLWSWeE+fMXU3spLU1AK6Wc4TNMHT9q8nE -H2zT3fvQPTSTn/aOhtLl9AbhORqw7dMxglUxz7L0c44gOI6TRCvFAPgpnX5I3+dLhMy223sbzB6a -bfu02wSva9u6jV8n5u1d0x7C/vENwN9uwZUrV/5HfgQAAP//SZpudwAIAAA=` + const secondPackageDatabase = `H4sIAAAAAAAA/+zSzW7bMAwA4Jz5FLnwmJhyLMnazUu81VjSFfG8w276oboirW3YLrru6YemwLDk +OhTDgHwXigIBiRJ76w/2lhdiIZLAo5+9ASIirfUxEtF5JClXv9fHfSF0pmdzeovLnHscJzvM6K/P +Om/uP4Efqm15XexKhD9GYWHb52V/uF1Odlj+HCcAPKkBwPdFfZJ/Lfd19fkaQSwEAG7Keo3QjBwf +7+cvgzXc9dNd1wLguq6+lQhpalIArF4zAsDdRtbNDoFXPmfjNbsQg/UyzRWFXLAwdsUx8wBYXxWp +VMfqVfQZp9GYYJ0yLhB7zYG0IymEiuykCqlWlHpnQ5Y5qzgXLroQZRZUFgGw2W8Rvk9TP75LEv5h +H/p7XvruIemeWh6SgfsOAIv9+grBts8v3TfVdrMpvpQIQhkyOtfaAOBNsf5UfCz3CE17aLundn7z ++kIDwL/+6ouLi4sTvwIAAP//Stn2gwAIAAA=` secondPackageDatabaseData, err := base64.StdEncoding.DecodeString(secondPackageDatabase) assert.NoError(t, err) @@ -385,12 +157,7 @@ bfu02wSva9u6jV8n5u1d0x7C/vENwN9uwZUrV/5HfgQAAP//SZpudwAIAAA=` t.Run("PushFirstPackage", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - req := NewRequest(t, "PUT", path.Join( - rootURL, "/push", - "testpkg-1-1-x86_64.pkg.tar.zst", - "archlinux", - hex.EncodeToString(firstPackageSignatureData), - )) + req := NewRequest(t, "PUT", path.Join(rootURL, "/push", "package-1-1-x86_64.pkg.tar.zst", "archlinux", hex.EncodeToString(firstPackageSignatureData))) req.Header.Set("Content-Type", "application/octet-stream") req.Body = io.NopCloser(bytes.NewReader(firstPackageData)) @@ -402,34 +169,37 @@ bfu02wSva9u6jV8n5u1d0x7C/vENwN9uwZUrV/5HfgQAAP//SZpudwAIAAA=` t.Run("GetFirstPackage", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - req := NewRequest(t, "GET", path.Join(rootURL, "/archlinux/x86_64/testpkg-1-1-x86_64.pkg.tar.zst")) + req := NewRequest(t, "GET", path.Join(rootURL, "/archlinux/x86_64/package-1-1-x86_64.pkg.tar.zst")) resp := MakeRequest(t, req, http.StatusOK) - assert.Equal(t, resp.Body.Bytes(), firstPackageData) + assert.Equal(t, firstPackageData, resp.Body.Bytes()) }) t.Run("GetFirstDatabase", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - dbname := fmt.Sprintf("%s.%s.db", user.Name, setting.Domain) - - req := NewRequest(t, "GET", path.Join(rootURL, "/archlinux/x86_64/"+dbname)) + req := NewRequest(t, "GET", path.Join(rootURL, "/archlinux/x86_64/"+fmt.Sprintf("%s.%s.db", user.Name, setting.Domain))) resp := MakeRequest(t, req, http.StatusOK) - assert.Equal(t, resp.Body.Bytes(), firstPackageDatabaseData) + assert.Equal(t, firstPackageDatabaseData, resp.Body.Bytes()) + }) + + t.Run("GetFirstSignature", func(t *testing.T) { + defer tests.PrintCurrentTest(t)() + + req := NewRequest(t, "GET", path.Join(rootURL, "/archlinux/x86_64/package-1-1-x86_64.pkg.tar.zst.sig")) + + resp := MakeRequest(t, req, http.StatusOK) + + assert.Equal(t, firstPackageSignatureData, resp.Body.Bytes()) }) t.Run("PushSecond", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - req := NewRequest(t, "PUT", path.Join( - rootURL, "/push", - "testpkg-1-1-any.pkg.tar.zst", - "archlinux", - hex.EncodeToString(secondPackageSignatureData), - )) + req := NewRequest(t, "PUT", path.Join(rootURL, "/push", "package-1-1-any.pkg.tar.zst", "archlinux", hex.EncodeToString(secondPackageSignatureData))) req.Header.Set("Content-Type", "application/octet-stream") req.Body = io.NopCloser(bytes.NewReader(secondPackageData)) @@ -441,33 +211,37 @@ bfu02wSva9u6jV8n5u1d0x7C/vENwN9uwZUrV/5HfgQAAP//SZpudwAIAAA=` t.Run("GetSecondPackage", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - req := NewRequest(t, "GET", path.Join(rootURL, "/archlinux/any/testpkg-1-1-any.pkg.tar.zst")) + req := NewRequest(t, "GET", path.Join(rootURL, "/archlinux/any/package-1-1-any.pkg.tar.zst")) resp := MakeRequest(t, req, http.StatusOK) - assert.Equal(t, resp.Body.Bytes(), secondPackageData) + assert.Equal(t, secondPackageData, resp.Body.Bytes()) }) t.Run("GetSecondDatabase", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - dbname := fmt.Sprintf("%s.%s.db.tar.gz", user.Name, setting.Domain) - - req := NewRequest(t, "GET", path.Join(rootURL, "/archlinux/x86_64/"+dbname)) + req := NewRequest(t, "GET", path.Join(rootURL, "/archlinux/any/"+fmt.Sprintf("%s.%s.db.tar.gz", user.Name, setting.Domain))) resp := MakeRequest(t, req, http.StatusOK) - assert.Equal(t, resp.Body.Bytes(), secondPackageDatabaseData) + assert.Equal(t, secondPackageDatabaseData, resp.Body.Bytes()) }) - t.Run("RemoveFirst", func(t *testing.T) { + t.Run("GetSecondSignature", func(t *testing.T) { defer tests.PrintCurrentTest(t)() - req := NewRequest(t, "DELETE", path.Join( - rootURL, "/remove", - "testpkg", - "1-1", - )) + req := NewRequest(t, "GET", path.Join(rootURL, "/archlinux/any/package-1-1-any.pkg.tar.zst.sig")) + + resp := MakeRequest(t, req, http.StatusOK) + + assert.Equal(t, secondPackageSignatureData, resp.Body.Bytes()) + }) + + t.Run("Remove", func(t *testing.T) { + defer tests.PrintCurrentTest(t)() + + req := NewRequest(t, "DELETE", path.Join(rootURL, "/remove", "package", "1-1")) req = AddBasicAuthHeader(req, user.Name)