2023-07-04 17:02:32 +00:00
|
|
|
// Copyright 2023 The Gitea Authors. All rights reserved.
|
|
|
|
// SPDX-License-Identifier: MIT
|
|
|
|
|
|
|
|
package integration
|
|
|
|
|
|
|
|
import (
|
|
|
|
"bytes"
|
|
|
|
"encoding/base64"
|
|
|
|
"encoding/hex"
|
|
|
|
"fmt"
|
|
|
|
"net/http"
|
|
|
|
"path"
|
|
|
|
"testing"
|
|
|
|
|
|
|
|
"code.gitea.io/gitea/models/unittest"
|
|
|
|
user_model "code.gitea.io/gitea/models/user"
|
|
|
|
"code.gitea.io/gitea/tests"
|
2023-07-10 17:50:44 +00:00
|
|
|
|
2023-07-04 17:02:32 +00:00
|
|
|
"github.com/stretchr/testify/assert"
|
|
|
|
)
|
|
|
|
|
|
|
|
func TestPackageArch(t *testing.T) {
|
2023-08-03 11:37:09 +00:00
|
|
|
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=`
|
2023-07-10 17:23:50 +00:00
|
|
|
firstPackageData, err := base64.StdEncoding.DecodeString(firstPackage)
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
2023-08-03 11:37:09 +00:00
|
|
|
const firstPackageSignature = `iQEzBAABCAAdFiEEdez1wBMjH7w+s6HCOjpq1/IBK5QFAmTKScUACgkQOjpq1/IBK5RDjwf/YZQS
|
|
|
|
QM9JgxtNqp9jxT7eqyNtYY5Jwte6Fpq6RpOd2qbkJodJVrAp0HAWPS71W9k0lhvOSeq4hL7jufUR
|
|
|
|
y5gmbvmN6CqOjoMAnSxe51OKgZuPb8fbWrpt58BqtR7iCtPav1tMG9lpIPWSLS2/jxoTIxjcgVQJ
|
|
|
|
05s2bqUtpoDy5fCB2Y5tdIPQbMjSr6/TkmWg4ulwactJg46bWgowwKxnWzUx7IYPjC3lwknU6Mll
|
|
|
|
DArW/X0zMaFT3zuMBJFlbSzv59tcH0yICa1yMRtWCnbufZo6Q/BUvZ3P3Wr/APokAEt5U1U/u0EK
|
|
|
|
Qck04tbpECPL0eABIygaLmwqii6wX6NIYA==`
|
2023-07-10 17:23:50 +00:00
|
|
|
firstPackageSignatureData, err := base64.StdEncoding.DecodeString(firstPackageSignature)
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
2023-08-03 11:37:09 +00:00
|
|
|
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`
|
2023-07-10 17:23:50 +00:00
|
|
|
firstPackageDatabaseData, err := base64.StdEncoding.DecodeString(firstPackageDatabase)
|
|
|
|
assert.NoError(t, err)
|
|
|
|
|
2023-08-03 11:37:09 +00:00
|
|
|
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`
|
2023-07-10 17:23:50 +00:00
|
|
|
secondPackageData, err := base64.StdEncoding.DecodeString(secondPackage)
|
|
|
|
assert.NoError(t, err)
|
2023-08-03 11:37:09 +00:00
|
|
|
|
|
|
|
const secondPackageSignature = `iQEzBAABCAAdFiEEdez1wBMjH7w+s6HCOjpq1/IBK5QFAmTKSigACgkQOjpq1/IBK5TnkQgAotU2
|
|
|
|
kdi275k87qzRLp4SgOX4QTpwCyjmXK4ZEm/FGBiF84mYT/sQmKbSsxPbxd4lumHhbll5SMVdM3C+
|
|
|
|
1pB4kWT1fewQi1YukGEe+Na6SAa33yQqQThf30WPYJhuOxSNDX0DNCrR7Ei98hNq0FuvZkZWzepF
|
|
|
|
ylhUP+OSGPWFsVOnXCaANxW6457LtnNPeQFDwQL2y9qv0Hgpnn3KS09n0SPXT2Kr02iYu9rICoOB
|
|
|
|
KsqYqMGxHoPypwT24o6oDElGt9/Z0pqZcwRJc7C0npv3q5a17S7nAdo8/NWgfDri7w224s8odtWy
|
|
|
|
qTAeEmTTQ8awXFYounZaHg+455+8u5npkw==`
|
2023-07-10 17:23:50 +00:00
|
|
|
secondPackageSignatureData, err := base64.StdEncoding.DecodeString(secondPackageSignature)
|
|
|
|
assert.NoError(t, err)
|
2023-08-03 11:37:09 +00:00
|
|
|
|
|
|
|
const secondPackageDatabase = `H4sIAAAAAAAA/+zSzW7bMAwA4Jz5FLnwmJhyLMnazUu81VjSFfG8w276oboirW3YLrru6YemwLDk
|
|
|
|
OhTDgHwXigIBiRJ76w/2lhdiIZLAo5+9ASIirfUxEtF5JClXv9fHfSF0pmdzeovLnHscJzvM6K/P
|
|
|
|
Om/uP4Efqm15XexKhD9GYWHb52V/uF1Odlj+HCcAPKkBwPdFfZJ/Lfd19fkaQSwEAG7Keo3QjBwf
|
|
|
|
7+cvgzXc9dNd1wLguq6+lQhpalIArF4zAsDdRtbNDoFXPmfjNbsQg/UyzRWFXLAwdsUx8wBYXxWp
|
|
|
|
VMfqVfQZp9GYYJ0yLhB7zYG0IymEiuykCqlWlHpnQ5Y5qzgXLroQZRZUFgGw2W8Rvk9TP75LEv5h
|
|
|
|
H/p7XvruIemeWh6SgfsOAIv9+grBts8v3TfVdrMpvpQIQhkyOtfaAOBNsf5UfCz3CE17aLundn7z
|
|
|
|
+kIDwL/+6ouLi4sTvwIAAP//Stn2gwAIAAA=`
|
2023-07-10 17:23:50 +00:00
|
|
|
secondPackageDatabaseData, err := base64.StdEncoding.DecodeString(secondPackageDatabase)
|
|
|
|
assert.NoError(t, err)
|
2023-07-04 17:02:32 +00:00
|
|
|
|
2023-07-09 11:47:41 +00:00
|
|
|
assert.NoError(t, unittest.PrepareTestDatabase())
|
|
|
|
|
2023-07-23 17:04:25 +00:00
|
|
|
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
|
2023-07-04 17:02:32 +00:00
|
|
|
|
2023-07-10 17:23:50 +00:00
|
|
|
rootURL := fmt.Sprintf("/api/packages/%s/arch", user.Name)
|
2023-07-04 17:02:32 +00:00
|
|
|
|
2023-07-10 17:23:50 +00:00
|
|
|
t.Run("PushFirstPackage", func(t *testing.T) {
|
|
|
|
defer tests.PrintCurrentTest(t)()
|
2023-07-04 17:02:32 +00:00
|
|
|
|
2023-08-04 11:52:36 +00:00
|
|
|
req := NewRequestWithBody(t, "PUT",
|
|
|
|
path.Join(
|
|
|
|
rootURL, "push", "package-1-1-x86_64.pkg.tar.zst",
|
|
|
|
"archlinux", hex.EncodeToString(firstPackageSignatureData),
|
|
|
|
),
|
|
|
|
bytes.NewReader(firstPackageData),
|
|
|
|
)
|
2023-07-04 17:02:32 +00:00
|
|
|
|
2023-07-23 17:04:25 +00:00
|
|
|
req = AddBasicAuthHeader(req, user.Name)
|
2023-07-10 17:23:50 +00:00
|
|
|
|
|
|
|
MakeRequest(t, req, http.StatusOK)
|
|
|
|
})
|
|
|
|
|
|
|
|
t.Run("GetFirstPackage", func(t *testing.T) {
|
|
|
|
defer tests.PrintCurrentTest(t)()
|
|
|
|
|
2023-08-04 11:52:36 +00:00
|
|
|
req := NewRequest(t, "GET",
|
|
|
|
rootURL+"/archlinux/x86_64/package-1-1-x86_64.pkg.tar.zst",
|
|
|
|
)
|
2023-07-10 17:23:50 +00:00
|
|
|
|
|
|
|
resp := MakeRequest(t, req, http.StatusOK)
|
|
|
|
|
2023-08-03 11:37:09 +00:00
|
|
|
assert.Equal(t, firstPackageData, resp.Body.Bytes())
|
2023-07-10 17:23:50 +00:00
|
|
|
})
|
2023-07-09 10:28:05 +00:00
|
|
|
|
2023-07-10 17:23:50 +00:00
|
|
|
t.Run("GetFirstDatabase", func(t *testing.T) {
|
|
|
|
defer tests.PrintCurrentTest(t)()
|
|
|
|
|
2023-08-04 11:52:36 +00:00
|
|
|
req := NewRequest(t, "GET", rootURL+"/archlinux/x86_64/test.db")
|
2023-08-03 11:37:09 +00:00
|
|
|
|
|
|
|
resp := MakeRequest(t, req, http.StatusOK)
|
|
|
|
|
|
|
|
assert.Equal(t, firstPackageDatabaseData, resp.Body.Bytes())
|
|
|
|
})
|
|
|
|
|
|
|
|
t.Run("GetFirstSignature", func(t *testing.T) {
|
|
|
|
defer tests.PrintCurrentTest(t)()
|
2023-07-10 17:23:50 +00:00
|
|
|
|
2023-08-04 11:52:36 +00:00
|
|
|
req := NewRequest(t, "GET",
|
|
|
|
rootURL+"/archlinux/x86_64/package-1-1-x86_64.pkg.tar.zst.sig",
|
|
|
|
)
|
2023-07-10 17:23:50 +00:00
|
|
|
|
|
|
|
resp := MakeRequest(t, req, http.StatusOK)
|
|
|
|
|
2023-08-03 11:37:09 +00:00
|
|
|
assert.Equal(t, firstPackageSignatureData, resp.Body.Bytes())
|
2023-07-10 17:23:50 +00:00
|
|
|
})
|
|
|
|
|
|
|
|
t.Run("PushSecond", func(t *testing.T) {
|
2023-07-06 20:44:09 +00:00
|
|
|
defer tests.PrintCurrentTest(t)()
|
|
|
|
|
2023-08-04 11:52:36 +00:00
|
|
|
req := NewRequestWithBody(t, "PUT",
|
|
|
|
path.Join(
|
|
|
|
rootURL, "push", "package-1-1-any.pkg.tar.zst",
|
|
|
|
"archlinux", hex.EncodeToString(secondPackageSignatureData),
|
|
|
|
),
|
|
|
|
bytes.NewReader(secondPackageData),
|
|
|
|
)
|
2023-07-04 17:02:32 +00:00
|
|
|
|
2023-07-23 17:04:25 +00:00
|
|
|
req = AddBasicAuthHeader(req, user.Name)
|
2023-07-04 17:02:32 +00:00
|
|
|
|
|
|
|
MakeRequest(t, req, http.StatusOK)
|
|
|
|
})
|
|
|
|
|
2023-07-10 17:23:50 +00:00
|
|
|
t.Run("GetSecondPackage", func(t *testing.T) {
|
2023-07-06 20:44:09 +00:00
|
|
|
defer tests.PrintCurrentTest(t)()
|
2023-07-04 17:02:32 +00:00
|
|
|
|
2023-08-04 11:52:36 +00:00
|
|
|
req := NewRequest(t, "GET",
|
|
|
|
rootURL+"/archlinux/any/package-1-1-any.pkg.tar.zst",
|
|
|
|
)
|
2023-07-04 17:02:32 +00:00
|
|
|
|
2023-07-10 17:23:50 +00:00
|
|
|
resp := MakeRequest(t, req, http.StatusOK)
|
2023-07-04 17:02:32 +00:00
|
|
|
|
2023-08-03 11:37:09 +00:00
|
|
|
assert.Equal(t, secondPackageData, resp.Body.Bytes())
|
2023-07-10 17:23:50 +00:00
|
|
|
})
|
2023-07-06 20:44:09 +00:00
|
|
|
|
2023-07-10 17:23:50 +00:00
|
|
|
t.Run("GetSecondDatabase", func(t *testing.T) {
|
|
|
|
defer tests.PrintCurrentTest(t)()
|
2023-07-04 17:02:32 +00:00
|
|
|
|
2023-09-05 17:51:29 +00:00
|
|
|
req := NewRequest(t, "GET", rootURL+"/archlinux/any/localhost.db")
|
2023-08-03 11:37:09 +00:00
|
|
|
|
|
|
|
resp := MakeRequest(t, req, http.StatusOK)
|
|
|
|
|
|
|
|
assert.Equal(t, secondPackageDatabaseData, resp.Body.Bytes())
|
|
|
|
})
|
|
|
|
|
|
|
|
t.Run("GetSecondSignature", func(t *testing.T) {
|
|
|
|
defer tests.PrintCurrentTest(t)()
|
2023-07-04 17:02:32 +00:00
|
|
|
|
2023-08-04 11:52:36 +00:00
|
|
|
req := NewRequest(t, "GET",
|
|
|
|
rootURL+"/archlinux/any/package-1-1-any.pkg.tar.zst.sig",
|
|
|
|
)
|
2023-07-04 17:02:32 +00:00
|
|
|
|
2023-07-10 17:23:50 +00:00
|
|
|
resp := MakeRequest(t, req, http.StatusOK)
|
2023-07-04 17:02:32 +00:00
|
|
|
|
2023-08-03 11:37:09 +00:00
|
|
|
assert.Equal(t, secondPackageSignatureData, resp.Body.Bytes())
|
2023-07-04 17:02:32 +00:00
|
|
|
})
|
|
|
|
|
2023-08-03 11:37:09 +00:00
|
|
|
t.Run("Remove", func(t *testing.T) {
|
2023-07-06 20:44:09 +00:00
|
|
|
defer tests.PrintCurrentTest(t)()
|
|
|
|
|
2023-08-04 11:52:36 +00:00
|
|
|
req := NewRequest(t, "DELETE", rootURL+"/remove/package/1-1")
|
2023-07-04 17:02:32 +00:00
|
|
|
|
2023-07-23 17:04:25 +00:00
|
|
|
req = AddBasicAuthHeader(req, user.Name)
|
2023-07-04 17:02:32 +00:00
|
|
|
|
|
|
|
MakeRequest(t, req, http.StatusOK)
|
|
|
|
})
|
|
|
|
}
|