Пример #1
0
 def test_does_not_get_rid_of_old_repos_by_ref_configured_in_days(self, session, fake, monkeypatch):
     conf.purge_rotation = {'ceph': {'ref': {'firefly': {'days': 70}}}, '__force_dict__': True}
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     session.commit()
     recurring.purge_repos(_now=self.now)
     assert len(Repo.query.all()) == 1
Пример #2
0
 def test_does_not_get_rid_of_old_repos_by_ref_configured_in_days(self, session, fake, monkeypatch):
     conf.purge_rotation = {'ceph': {'ref': {'firefly': {'days': 70}}}, '__force_dict__': True}
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     session.commit()
     recurring.purge_repos(_now=self.now)
     assert len(Repo.query.all()) == 1
Пример #3
0
 def test_does_not_get_rid_of_old_repos_by_flavor_configured_with_offset(self, session, fake, monkeypatch):
     conf.purge_rotation = {'ceph': {'flavor': {'default': {'keep_minimum': 1}}}, '__force_dict__': True}
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     session.commit()
     recurring.purge_repos(_now=self.now)
     assert len(Repo.query.all()) == 1
Пример #4
0
 def test_does_not_get_rid_of_old_repos_by_flavor_configured_with_offset(self, session, fake, monkeypatch):
     conf.purge_rotation = {'ceph': {'flavor': {'default': {'keep_minimum': 1}}}, '__force_dict__': True}
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     session.commit()
     recurring.purge_repos(_now=self.now)
     assert len(Repo.query.all()) == 1
Пример #5
0
 def test_does_not_get_rid_of_old_repos(self, session, fake, monkeypatch):
     conf.purge_repos = False
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     session.commit()
     recurring.purge_repos(_now=self.now)
     assert len(Repo.query.all()) == 1
Пример #6
0
    def test_get_rid_of_new_and_old_repos_without_days(self, session, fake,
                                                       monkeypatch):
        Repo(
            project=Project('nfs-ganesha'),
            ref='next',
            distro='centos',
            distro_version='7',
            flavor='ceph_master',
        )

        conf.purge_rotation = {
            'nfs-ganesha': {
                'flavor': {
                    'ceph_master': {
                        'keep_minimum': 0
                    }
                },
                'ref': {
                    'next': {
                        'keep_minimum': 0
                    }
                }
            },
            '__force_dict__': True
        }
        fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
        monkeypatch.setattr(datetime, 'datetime', fake_datetime)
        session.commit()
        recurring.purge_repos(_now=self.now)
        assert len(Repo.query.all()) == 0
Пример #7
0
 def test_leaves_newer_repos_behind(self, session, fake, monkeypatch):
     session.commit()
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     session.commit()
     recurring.purge_repos(_now=self.now)
     assert len(Repo.query.all()) == 1
Пример #8
0
 def test_leaves_newer_repos_behind(self, session, fake, monkeypatch):
     session.commit()
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     session.commit()
     recurring.purge_repos(_now=self.now)
     assert len(Repo.query.all()) == 1
Пример #9
0
 def test_does_not_get_rid_of_old_repos(self, session, fake, monkeypatch):
     conf.purge_repos = False
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     session.commit()
     recurring.purge_repos(_now=self.now)
     assert len(Repo.query.all()) == 1
Пример #10
0
 def test_gets_rid_of_old_repos_paths(self, session, fake, monkeypatch, tmpdir):
     repo_path = str(tmpdir)
     package = tmpdir.join('ceph-1.0.rpm')
     package.write("101010101010")
     self.repo.path = str(repo_path)
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     session.commit()
     recurring.purge_repos(_now=self.now)
     assert os.path.exists(repo_path) is False
Пример #11
0
 def test_gets_rid_of_old_repos_paths(self, session, fake, monkeypatch, tmpdir):
     repo_path = str(tmpdir)
     package = tmpdir.join('ceph-1.0.rpm')
     package.write("101010101010")
     self.repo.path = str(repo_path)
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     session.commit()
     recurring.purge_repos(_now=self.now)
     assert os.path.exists(repo_path) is False
Пример #12
0
    def test_gets_rid_of_other_repos(self, session, fake, monkeypatch):
        Repo(
            self.p,
            ref='hammer',
            distro='centos',
            distro_version='7',
        )

        conf.purge_rotation = {'ceph': {'ref': {'firefly': {'keep_minimum': 1}}}, '__force_dict__': True}
        fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
        monkeypatch.setattr(datetime, 'datetime', fake_datetime)
        session.commit()
        recurring.purge_repos(_now=self.now)
        assert Repo.query.first().ref == 'firefly'
Пример #13
0
    def test_gets_rid_of_other_repos(self, session, fake, monkeypatch):
        Repo(
            self.p,
            ref='hammer',
            distro='centos',
            distro_version='7',
        )

        conf.purge_rotation = {'ceph': {'ref': {'firefly': {'keep_minimum': 1}}}, '__force_dict__': True}
        fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
        monkeypatch.setattr(datetime, 'datetime', fake_datetime)
        session.commit()
        recurring.purge_repos(_now=self.now)
        assert Repo.query.first().ref == 'firefly'
Пример #14
0
    def test_get_rid_of_new_and_old_repos_by_ref_configured_with_offset(self, session, fake, monkeypatch):
        Repo(
            project=Project('nfs-ganesha'),
            ref='next',
            distro='centos',
            distro_version='7',
            flavor='ceph_master',
        )

        conf.purge_rotation = {'nfs-ganesha': {'ref': {'next': {'keep_minimum': 0}}}, '__force_dict__': True}
        fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
        monkeypatch.setattr(datetime, 'datetime', fake_datetime)
        session.commit()
        recurring.purge_repos(_now=self.now)
        assert len(Repo.query.all()) == 0
Пример #15
0
 def test_if_disabled_it_does_not_purge_binaries(self, session, fake, monkeypatch, tmpdir):
     conf.purge_repos = False
     p = tmpdir.join('binary')
     p.write('contents')
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     Binary(
         'ceph-10.0.0.rpm', self.p, distro='centos',
         distro_version='6',
         arch='i386',
         path=str(p),
         repo=self.repo
     )
     session.commit()
     recurring.purge_repos(_now=self.now)
     assert len(Binary.query.all()) == 1
Пример #16
0
 def test_if_disabled_it_does_not_purge_binaries(self, session, fake, monkeypatch, tmpdir):
     conf.purge_repos = False
     p = tmpdir.join('binary')
     p.write('contents')
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     Binary(
         'ceph-10.0.0.rpm', self.p, distro='centos',
         distro_version='6',
         arch='i386',
         path=str(p),
         repo=self.repo
     )
     session.commit()
     recurring.purge_repos(_now=self.now)
     assert len(Binary.query.all()) == 1
Пример #17
0
 def test_ignores_binaries_that_do_not_exist(self, session, fake, monkeypatch, tmpdir):
     p = tmpdir.join('binary')
     p.write_text(u'contents', encoding='utf-8')
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     Binary(
         'ceph-10.0.0.rpm', self.p, distro='centos',
         distro_version='6',
         arch='i386',
         path=p.strpath,
         repo=self.repo
     )
     session.commit()
     # remove the binary, to ensure that the purge can continue
     os.remove(str(p))
     assert len(Binary.query.all()) == 1
     recurring.purge_repos(_now=self.now)
     assert len(Binary.query.all()) == 0
Пример #18
0
 def test_ignores_binaries_that_do_not_exist(self, session, fake, monkeypatch, tmpdir):
     p = tmpdir.join('binary')
     p.write('contents')
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     Binary(
         'ceph-10.0.0.rpm', self.p, distro='centos',
         distro_version='6',
         arch='i386',
         path=str(p),
         repo=self.repo
     )
     session.commit()
     # remove the binary, to ensure that the purge can continue
     os.remove(str(p))
     assert len(Binary.query.all()) == 1
     recurring.purge_repos(_now=self.now)
     assert len(Binary.query.all()) == 0
Пример #19
0
 def test_gets_rid_of_old_repos(self, session, fake, monkeypatch):
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     session.commit()
     recurring.purge_repos(_now=self.now)
     assert Repo.query.all() == []
Пример #20
0
 def test_gets_rid_of_old_repos(self, session, fake, monkeypatch):
     fake_datetime = fake(utcnow=lambda: self.old, now=self.now)
     monkeypatch.setattr(datetime, 'datetime', fake_datetime)
     session.commit()
     recurring.purge_repos(_now=self.now)
     assert Repo.query.all() == []