def test_disable_suites_blank_lines(self): """test_disable_suites_blank_lines - ensure blank lines allowed""" lines = [ "deb %(repo)s %(rel)s main universe", "", "deb %(repo)s %(rel)s-updates main universe", " # random comment", "#comment here", "" ] rel = "trusty" repo = 'http://example.com/mirrors/ubuntu' orig = "\n".join(lines) % {'repo': repo, 'rel': rel} self.assertEqual( orig, cc_apt_configure.disable_suites(["proposed"], orig, rel))
def test_disable_suites_blank_lines(self): """test_disable_suites_blank_lines - ensure blank lines allowed""" lines = ["deb %(repo)s %(rel)s main universe", "", "deb %(repo)s %(rel)s-updates main universe", " # random comment", "#comment here", ""] rel = "trusty" repo = 'http://example.com/mirrors/ubuntu' orig = "\n".join(lines) % {'repo': repo, 'rel': rel} self.assertEqual( orig, cc_apt_configure.disable_suites(["proposed"], orig, rel))
def test_apt_v3_disable_suites(self): """test_disable_suites - disable_suites with many configurations""" release = "xenial" orig = """deb http://ubuntu.com//ubuntu xenial main deb http://ubuntu.com//ubuntu xenial-updates main deb http://ubuntu.com//ubuntu xenial-security main deb-src http://ubuntu.com//ubuntu universe multiverse deb http://ubuntu.com/ubuntu/ xenial-proposed main""" # disable nothing disabled = [] expect = """deb http://ubuntu.com//ubuntu xenial main deb http://ubuntu.com//ubuntu xenial-updates main deb http://ubuntu.com//ubuntu xenial-security main deb-src http://ubuntu.com//ubuntu universe multiverse deb http://ubuntu.com/ubuntu/ xenial-proposed main""" result = cc_apt_configure.disable_suites(disabled, orig, release) self.assertEqual(expect, result) # single disable release suite disabled = ["$RELEASE"] expect = """\ # suite disabled by cloud-init: deb http://ubuntu.com//ubuntu xenial main deb http://ubuntu.com//ubuntu xenial-updates main deb http://ubuntu.com//ubuntu xenial-security main deb-src http://ubuntu.com//ubuntu universe multiverse deb http://ubuntu.com/ubuntu/ xenial-proposed main""" result = cc_apt_configure.disable_suites(disabled, orig, release) self.assertEqual(expect, result) # single disable other suite disabled = ["$RELEASE-updates"] expect = ("""deb http://ubuntu.com//ubuntu xenial main # suite disabled by cloud-init: deb http://ubuntu.com//ubuntu""" """ xenial-updates main deb http://ubuntu.com//ubuntu xenial-security main deb-src http://ubuntu.com//ubuntu universe multiverse deb http://ubuntu.com/ubuntu/ xenial-proposed main""") result = cc_apt_configure.disable_suites(disabled, orig, release) self.assertEqual(expect, result) # multi disable disabled = ["$RELEASE-updates", "$RELEASE-security"] expect = ("""deb http://ubuntu.com//ubuntu xenial main # suite disabled by cloud-init: deb http://ubuntu.com//ubuntu """ """xenial-updates main # suite disabled by cloud-init: deb http://ubuntu.com//ubuntu """ """xenial-security main deb-src http://ubuntu.com//ubuntu universe multiverse deb http://ubuntu.com/ubuntu/ xenial-proposed main""") result = cc_apt_configure.disable_suites(disabled, orig, release) self.assertEqual(expect, result) # multi line disable (same suite multiple times in input) disabled = ["$RELEASE-updates", "$RELEASE-security"] orig = """deb http://ubuntu.com//ubuntu xenial main deb http://ubuntu.com//ubuntu xenial-updates main deb http://ubuntu.com//ubuntu xenial-security main deb-src http://ubuntu.com//ubuntu universe multiverse deb http://UBUNTU.com//ubuntu xenial-updates main deb http://UBUNTU.COM//ubuntu xenial-updates main deb http://ubuntu.com/ubuntu/ xenial-proposed main""" expect = ("""deb http://ubuntu.com//ubuntu xenial main # suite disabled by cloud-init: deb http://ubuntu.com//ubuntu """ """xenial-updates main # suite disabled by cloud-init: deb http://ubuntu.com//ubuntu """ """xenial-security main deb-src http://ubuntu.com//ubuntu universe multiverse # suite disabled by cloud-init: deb http://UBUNTU.com//ubuntu """ """xenial-updates main # suite disabled by cloud-init: deb http://UBUNTU.COM//ubuntu """ """xenial-updates main deb http://ubuntu.com/ubuntu/ xenial-proposed main""") result = cc_apt_configure.disable_suites(disabled, orig, release) self.assertEqual(expect, result) # comment in input disabled = ["$RELEASE-updates", "$RELEASE-security"] orig = """deb http://ubuntu.com//ubuntu xenial main deb http://ubuntu.com//ubuntu xenial-updates main deb http://ubuntu.com//ubuntu xenial-security main deb-src http://ubuntu.com//ubuntu universe multiverse #foo #deb http://UBUNTU.com//ubuntu xenial-updates main deb http://UBUNTU.COM//ubuntu xenial-updates main deb http://ubuntu.com/ubuntu/ xenial-proposed main""" expect = ("""deb http://ubuntu.com//ubuntu xenial main # suite disabled by cloud-init: deb http://ubuntu.com//ubuntu """ """xenial-updates main # suite disabled by cloud-init: deb http://ubuntu.com//ubuntu """ """xenial-security main deb-src http://ubuntu.com//ubuntu universe multiverse #foo #deb http://UBUNTU.com//ubuntu xenial-updates main # suite disabled by cloud-init: deb http://UBUNTU.COM//ubuntu """ """xenial-updates main deb http://ubuntu.com/ubuntu/ xenial-proposed main""") result = cc_apt_configure.disable_suites(disabled, orig, release) self.assertEqual(expect, result) # single disable custom suite disabled = ["foobar"] orig = """deb http://ubuntu.com//ubuntu xenial main deb http://ubuntu.com//ubuntu xenial-updates main deb http://ubuntu.com//ubuntu xenial-security main deb http://ubuntu.com/ubuntu/ foobar main""" expect = """deb http://ubuntu.com//ubuntu xenial main deb http://ubuntu.com//ubuntu xenial-updates main deb http://ubuntu.com//ubuntu xenial-security main # suite disabled by cloud-init: deb http://ubuntu.com/ubuntu/ foobar main""" result = cc_apt_configure.disable_suites(disabled, orig, release) self.assertEqual(expect, result) # single disable non existing suite disabled = ["foobar"] orig = """deb http://ubuntu.com//ubuntu xenial main deb http://ubuntu.com//ubuntu xenial-updates main deb http://ubuntu.com//ubuntu xenial-security main deb http://ubuntu.com/ubuntu/ notfoobar main""" expect = """deb http://ubuntu.com//ubuntu xenial main deb http://ubuntu.com//ubuntu xenial-updates main deb http://ubuntu.com//ubuntu xenial-security main deb http://ubuntu.com/ubuntu/ notfoobar main""" result = cc_apt_configure.disable_suites(disabled, orig, release) self.assertEqual(expect, result) # single disable suite with option disabled = ["$RELEASE-updates"] orig = """deb http://ubuntu.com//ubuntu xenial main deb [a=b] http://ubu.com//ubu xenial-updates main deb http://ubuntu.com//ubuntu xenial-security main deb-src http://ubuntu.com//ubuntu universe multiverse deb http://ubuntu.com/ubuntu/ xenial-proposed main""" expect = ("""deb http://ubuntu.com//ubuntu xenial main # suite disabled by cloud-init: deb [a=b] http://ubu.com//ubu """ """xenial-updates main deb http://ubuntu.com//ubuntu xenial-security main deb-src http://ubuntu.com//ubuntu universe multiverse deb http://ubuntu.com/ubuntu/ xenial-proposed main""") result = cc_apt_configure.disable_suites(disabled, orig, release) self.assertEqual(expect, result) # single disable suite with more options and auto $RELEASE expansion disabled = ["updates"] orig = """deb http://ubuntu.com//ubuntu xenial main deb [a=b c=d] http://ubu.com//ubu xenial-updates main deb http://ubuntu.com//ubuntu xenial-security main deb-src http://ubuntu.com//ubuntu universe multiverse deb http://ubuntu.com/ubuntu/ xenial-proposed main""" expect = """deb http://ubuntu.com//ubuntu xenial main # suite disabled by cloud-init: deb [a=b c=d] \ http://ubu.com//ubu xenial-updates main deb http://ubuntu.com//ubuntu xenial-security main deb-src http://ubuntu.com//ubuntu universe multiverse deb http://ubuntu.com/ubuntu/ xenial-proposed main""" result = cc_apt_configure.disable_suites(disabled, orig, release) self.assertEqual(expect, result) # single disable suite while options at others disabled = ["$RELEASE-security"] orig = """deb http://ubuntu.com//ubuntu xenial main deb [arch=foo] http://ubuntu.com//ubuntu xenial-updates main deb http://ubuntu.com//ubuntu xenial-security main deb-src http://ubuntu.com//ubuntu universe multiverse deb http://ubuntu.com/ubuntu/ xenial-proposed main""" expect = ("""deb http://ubuntu.com//ubuntu xenial main deb [arch=foo] http://ubuntu.com//ubuntu xenial-updates main # suite disabled by cloud-init: deb http://ubuntu.com//ubuntu """ """xenial-security main deb-src http://ubuntu.com//ubuntu universe multiverse deb http://ubuntu.com/ubuntu/ xenial-proposed main""") result = cc_apt_configure.disable_suites(disabled, orig, release) self.assertEqual(expect, result)