test: Add metalink test for org.osbuild.librepo

NOTE: The metalink xml file points to a repomd.xml file which does not
exist. In practice librepo doesn't download this, it only uses the url
to construct the mirror urls, so it is not present.

These tests test downloading packages using metalink:

* Using a single metalink repo
* Using two metalink repos
* A bad checksum (or file) from the download which is expected to fail
* Two metalink paths with the first one returning a 404, expected to
  succeed with the 2nd metalink path.
This commit is contained in:
Brian C. Lane 2023-05-05 11:17:49 -07:00 committed by Simon de Vlieger
parent 28e74f6c9b
commit 0c340da0a2
11 changed files with 177 additions and 0 deletions

View file

@ -0,0 +1,39 @@
{
"expects": "success",
"org.osbuild.librepo": {
"items": {
"sha256:99fa21f1b67fea84dcb9b3c7f7e09a4f150095cfa7163a19d03972fd7c826f00": {
"path": "Packages/a/a",
"mirror": "0cde5945566ff3feb627eaa84e31223d2b8be54fb446222cded36fc5e5debcc2"
},
"sha256:77e6ed0bed2d720e44d77643f66b05f0eb42b06379990e5ef658ef314c415827": {
"path": "Packages/b/b",
"mirror": "0cde5945566ff3feb627eaa84e31223d2b8be54fb446222cded36fc5e5debcc2"
},
"sha256:e99efe314a66334179236e5fb6a2e6a6431daf6aeb516162e01517a0ac708252": {
"path": "Packages/c/c",
"mirror": "d68132295d14ad03bd676009c4fe8727f5040adfb91e20ac9919101d14ff4703"
},
"sha256:354fe7c89ac014ed6479bf162fa7b9e8b37eddc7e46719ebd4349699d4e92c8c": {
"path": "Packages/d/d",
"mirror": "d68132295d14ad03bd676009c4fe8727f5040adfb91e20ac9919101d14ff4703"
}
},
"options": {
"mirrors": {
"0cde5945566ff3feb627eaa84e31223d2b8be54fb446222cded36fc5e5debcc2": {
"url": "http://localhost/sources/org.osbuild.librepo/data/metalink/one404.xml",
"type": "metalink",
"fastest-mirror": true,
"name": "metalink"
},
"d68132295d14ad03bd676009c4fe8727f5040adfb91e20ac9919101d14ff4703": {
"url": "http://localhost/sources/org.osbuild.librepo/data/metalink/updates.xml",
"type": "metalink",
"fastest-mirror": true,
"name": "metalink"
}
}
}
}
}

View file

@ -0,0 +1,39 @@
{
"expects": "error",
"org.osbuild.librepo": {
"items": {
"sha256:99fa21f1b67fea84dcb9b3c7f7e09a4f150095cfa7163a19d03972fd7c826f00": {
"path": "Packages/a/a",
"mirror": "0cde5945566ff3feb627eaa84e31223d2b8be54fb446222cded36fc5e5debcc2"
},
"sha256:77e6ed0bed2d720e44d77643f66b05f0eb42b06379990e5ef658ef314c415827": {
"path": "Packages/b/b",
"mirror": "0cde5945566ff3feb627eaa84e31223d2b8be54fb446222cded36fc5e5debcc2"
},
"sha256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa": {
"path": "Packages/c/c",
"mirror": "d68132295d14ad03bd676009c4fe8727f5040adfb91e20ac9919101d14ff4703"
},
"sha256:354fe7c89ac014ed6479bf162fa7b9e8b37eddc7e46719ebd4349699d4e92c8c": {
"path": "Packages/d/d",
"mirror": "d68132295d14ad03bd676009c4fe8727f5040adfb91e20ac9919101d14ff4703"
}
},
"options": {
"mirrors": {
"0cde5945566ff3feb627eaa84e31223d2b8be54fb446222cded36fc5e5debcc2": {
"url": "http://localhost/sources/org.osbuild.librepo/data/metalink/fedora.xml",
"type": "metalink",
"fastest-mirror": true,
"name": "metalink"
},
"d68132295d14ad03bd676009c4fe8727f5040adfb91e20ac9919101d14ff4703": {
"url": "http://localhost/sources/org.osbuild.librepo/data/metalink/updates.xml",
"type": "metalink",
"fastest-mirror": true,
"name": "metalink"
}
}
}
}
}

View file

@ -0,0 +1,25 @@
{
"expects": "success",
"org.osbuild.librepo": {
"items": {
"sha256:99fa21f1b67fea84dcb9b3c7f7e09a4f150095cfa7163a19d03972fd7c826f00": {
"path": "Packages/a/a",
"mirror": "0cde5945566ff3feb627eaa84e31223d2b8be54fb446222cded36fc5e5debcc2"
},
"sha256:77e6ed0bed2d720e44d77643f66b05f0eb42b06379990e5ef658ef314c415827": {
"path": "Packages/b/b",
"mirror": "0cde5945566ff3feb627eaa84e31223d2b8be54fb446222cded36fc5e5debcc2"
}
},
"options": {
"mirrors": {
"0cde5945566ff3feb627eaa84e31223d2b8be54fb446222cded36fc5e5debcc2": {
"url": "http://localhost/sources/org.osbuild.librepo/data/metalink/fedora.xml",
"type": "metalink",
"fastest-mirror": true,
"name": "metalink"
}
}
}
}
}

View file

@ -0,0 +1,39 @@
{
"expects": "success",
"org.osbuild.librepo": {
"items": {
"sha256:99fa21f1b67fea84dcb9b3c7f7e09a4f150095cfa7163a19d03972fd7c826f00": {
"path": "Packages/a/a",
"mirror": "0cde5945566ff3feb627eaa84e31223d2b8be54fb446222cded36fc5e5debcc2"
},
"sha256:77e6ed0bed2d720e44d77643f66b05f0eb42b06379990e5ef658ef314c415827": {
"path": "Packages/b/b",
"mirror": "0cde5945566ff3feb627eaa84e31223d2b8be54fb446222cded36fc5e5debcc2"
},
"sha256:e99efe314a66334179236e5fb6a2e6a6431daf6aeb516162e01517a0ac708252": {
"path": "Packages/c/c",
"mirror": "d68132295d14ad03bd676009c4fe8727f5040adfb91e20ac9919101d14ff4703"
},
"sha256:354fe7c89ac014ed6479bf162fa7b9e8b37eddc7e46719ebd4349699d4e92c8c": {
"path": "Packages/d/d",
"mirror": "d68132295d14ad03bd676009c4fe8727f5040adfb91e20ac9919101d14ff4703"
}
},
"options": {
"mirrors": {
"0cde5945566ff3feb627eaa84e31223d2b8be54fb446222cded36fc5e5debcc2": {
"url": "http://localhost/sources/org.osbuild.librepo/data/metalink/fedora.xml",
"type": "metalink",
"fastest-mirror": true,
"name": "metalink"
},
"d68132295d14ad03bd676009c4fe8727f5040adfb91e20ac9919101d14ff4703": {
"url": "http://localhost/sources/org.osbuild.librepo/data/metalink/updates.xml",
"type": "metalink",
"fastest-mirror": true,
"name": "metalink"
}
}
}
}
}

View file

@ -0,0 +1 @@
DUMMY PACKAGE a

View file

@ -0,0 +1 @@
DUMMY PACKAGE b

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<metalink version="3.0" xmlns="http://www.metalinker.org/">
<files>
<file name="repomd.xml">
<resources maxconnections="1">
<url protocol="http" type="http" location="us" preference="100">http://localhost/sources/org.osbuild.librepo/data/repodata/repomd.xml</url>
</resources>
</file>
</files>
</metalink>

View file

@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<metalink version="3.0" xmlns="http://www.metalinker.org/">
<files>
<file name="repomd.xml">
<resources maxconnections="1">
<url protocol="http" type="http" location="us" preference="100">http://localhost/sources/org.osbuild.librepo/data/404/repodata/repomd.xml</url>
<url protocol="http" type="http" location="us" preference="50">http://localhost/sources/org.osbuild.librepo/data/repodata/repomd.xml</url>
</resources>
</file>
</files>
</metalink>

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<metalink version="3.0" xmlns="http://www.metalinker.org/">
<files>
<file name="repomd.xml">
<resources maxconnections="1">
<url protocol="http" type="http" location="us" preference="100">http://localhost/sources/org.osbuild.librepo/data/updates/repodata/repomd.xml</url>
</resources>
</file>
</files>
</metalink>

View file

@ -0,0 +1 @@
DUMMY PACKAGE c

View file

@ -0,0 +1 @@
DUMMY PACKAGE d