Distinct copyrights were left as I do not wish to track down commit history to ensure it properly documents the copyright holders. Also left non-GPLv2 licenses and left bs_copy untouched as a mirror from OBS. Already have a mix of with and without headers and even OBS does not place on majority of files. If SUSE lawyers have an issue it will come up in legal review for Factory.
51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
import os
|
|
import unittest
|
|
import difflib
|
|
import subprocess
|
|
import tempfile
|
|
|
|
from obs import APIURL
|
|
from obs import OBS
|
|
from osclib.conf import Config
|
|
from osclib.freeze_command import FreezeCommand
|
|
from osclib.stagingapi import StagingAPI
|
|
|
|
|
|
class TestFreeze(unittest.TestCase):
|
|
def setUp(self):
|
|
"""
|
|
Initialize the configuration
|
|
"""
|
|
self.obs = OBS()
|
|
Config(APIURL, 'openSUSE:Factory')
|
|
self.api = StagingAPI(APIURL, 'openSUSE:Factory')
|
|
|
|
def _get_fixture_path(self, filename):
|
|
"""
|
|
Return path for fixture
|
|
"""
|
|
return os.path.join(self._get_fixtures_dir(), filename)
|
|
|
|
def _get_fixtures_dir(self):
|
|
"""
|
|
Return path for fixtures
|
|
"""
|
|
return os.path.join(os.getcwd(), 'tests/fixtures')
|
|
|
|
def test_bootstrap_copy(self):
|
|
|
|
fc = FreezeCommand(self.api)
|
|
|
|
fp = self._get_fixture_path('staging-meta-for-bootstrap-copy.xml')
|
|
fixture = subprocess.check_output('/usr/bin/xmllint --format %s' % fp, shell=True)
|
|
|
|
f = tempfile.NamedTemporaryFile(delete=False)
|
|
f.write(fc.prj_meta_for_bootstrap_copy('openSUSE:Factory:Staging:A'))
|
|
f.close()
|
|
|
|
output = subprocess.check_output('/usr/bin/xmllint --format %s' % f.name, shell=True)
|
|
|
|
for line in difflib.unified_diff(fixture.split("\n"), output.split("\n")):
|
|
print(line)
|
|
self.assertEqual(output, fixture)
|