git-importer/tests/db_import_test.py
Stephan Kulow 5ae02a413d Store API URL in the revision table
Will be important once we get into SLE
2022-11-06 10:57:32 +01:00

42 lines
1.2 KiB
Python

import unittest
import xml.etree.ElementTree as ET
from lib.db import DB
from lib.db_revision import DBRevision
from lib.obs import OBS
from lib.obs_revision import OBSRevision
# needs to exist in local oscrc (little tricky)
API_URL = "https://api.opensuse.org"
class TestDBMethods(unittest.TestCase):
def setUp(self):
self.db = DB(section="test")
self.obs = OBS(API_URL)
def test_import(self):
test_rev = OBSRevision(self.obs, "openSUSE:Factory", "xz")
test_rev.parse(
ET.fromstring(
"""<revision rev="70" vrev="1">
<srcmd5>37a33785d29ac57cdd5f2cbd7b0d6588</srcmd5>
<version>5.2.7</version>
<time>1665184962</time>
<user>RBrownFactory</user>
<comment></comment>
<requestid>1008136</requestid>
</revision>"""
)
)
DBRevision.import_obs_rev(self.db, test_rev)
db_rev = DBRevision.fetch_revision(
self.db, project="openSUSE:Factory", package="xz", rev="70"
)
self.assertEqual(db_rev.api_url, API_URL)
self.assertEqual(str(test_rev), str(db_rev))
if __name__ == "__main__":
unittest.main()