Blame tests/conf/test_list_option.py

Packit 6f3914
# Copyright (C) 2018 Red Hat, Inc.
Packit 6f3914
#
Packit 6f3914
# This copyrighted material is made available to anyone wishing to use,
Packit 6f3914
# modify, copy, or redistribute it subject to the terms and conditions of
Packit 6f3914
# the GNU General Public License v.2, or (at your option) any later version.
Packit 6f3914
# This program is distributed in the hope that it will be useful, but WITHOUT
Packit 6f3914
# ANY WARRANTY expressed or implied, including the implied warranties of
Packit 6f3914
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General
Packit 6f3914
# Public License for more details.  You should have received a copy of the
Packit 6f3914
# GNU General Public License along with this program; if not, write to the
Packit 6f3914
# Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
Packit 6f3914
# 02110-1301, USA.  Any Red Hat trademarks that are incorporated in the
Packit 6f3914
# source code or documentation are not subject to the GNU General Public
Packit 6f3914
# License and may only be used or replicated with the express permission of
Packit 6f3914
# Red Hat, Inc.
Packit 6f3914
#
Packit 6f3914
Packit 6f3914
from __future__ import absolute_import
Packit 6f3914
from __future__ import unicode_literals
Packit 6f3914
Packit 6f3914
import unittest
Packit 6f3914
Packit 6f3914
import dnf
Packit 6f3914
Packit 6f3914
Packit 6f3914
class ListOptionTest(unittest.TestCase):
Packit 6f3914
Packit 6f3914
    def setUp(self):
Packit 6f3914
        self.conf = dnf.conf.MainConf()
Packit 6f3914
Packit 6f3914
    def test_delitem(self):
Packit 6f3914
        self.conf.pluginpath = ["a", "b", "c"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a", "b", "c"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var, ["a", "b", "c"])
Packit 6f3914
Packit 6f3914
        del var[0]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["b", "c"])
Packit 6f3914
        self.assertEqual(var, ["b", "c"])
Packit 6f3914
Packit 6f3914
    def test_iadd(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var, ["a"])
Packit 6f3914
Packit 6f3914
        var += ["b", "c"]
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a", "b", "c"])
Packit 6f3914
        self.assertEqual(var, ["a", "b", "c"])
Packit 6f3914
Packit 6f3914
    def test_iadd_tuple(self):
Packit 6f3914
        self.conf.pluginpath = ("a", )
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var, ["a"])
Packit 6f3914
Packit 6f3914
        var += ("b", "c")
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a", "b", "c"])
Packit 6f3914
        self.assertEqual(var, ["a", "b", "c"])
Packit 6f3914
Packit 6f3914
    def test_imul(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var, ["a"])
Packit 6f3914
Packit 6f3914
        var *= 3
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a", "a", "a"])
Packit 6f3914
        self.assertEqual(var, ["a", "a", "a"])
Packit 6f3914
Packit 6f3914
    def test_setitem(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var, ["a"])
Packit 6f3914
Packit 6f3914
        var[0] = "b"
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["b"])
Packit 6f3914
        self.assertEqual(var, ["b"])
Packit 6f3914
Packit 6f3914
    def test_append(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var, ["a"])
Packit 6f3914
Packit 6f3914
        var.append("b")
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a", "b"])
Packit 6f3914
        self.assertEqual(var, ["a", "b"])
Packit 6f3914
Packit 6f3914
    def test_clear(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var, ["a"])
Packit 6f3914
Packit 6f3914
        var.clear()
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, [])
Packit 6f3914
        self.assertEqual(var, [])
Packit 6f3914
Packit 6f3914
    def test_extend(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var, ["a"])
Packit 6f3914
Packit 6f3914
        var.extend(["b", "c"])
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a", "b", "c"])
Packit 6f3914
        self.assertEqual(var, ["a", "b", "c"])
Packit 6f3914
Packit 6f3914
    def test_insert(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var, ["a"])
Packit 6f3914
Packit 6f3914
        var.insert(0, "b")
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["b", "a"])
Packit 6f3914
        self.assertEqual(var, ["b", "a"])
Packit 6f3914
Packit 6f3914
    def test_pop(self):
Packit 6f3914
        self.conf.pluginpath = ["a", "b", "c"]
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a", "b", "c"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var, ["a", "b", "c"])
Packit 6f3914
Packit 6f3914
        var.pop()
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a", "b"])
Packit 6f3914
        self.assertEqual(var, ["a", "b"])
Packit 6f3914
Packit 6f3914
    def test_remove(self):
Packit 6f3914
        self.conf.pluginpath = ["a", "b", "c"]
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a", "b", "c"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var, ["a", "b", "c"])
Packit 6f3914
Packit 6f3914
        var.remove("b")
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a", "c"])
Packit 6f3914
        self.assertEqual(var, ["a", "c"])
Packit 6f3914
Packit 6f3914
    def test_reverse(self):
Packit 6f3914
        self.conf.pluginpath = ["a", "b", "c"]
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a", "b", "c"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var, ["a", "b", "c"])
Packit 6f3914
Packit 6f3914
        var.reverse()
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["c", "b", "a"])
Packit 6f3914
        self.assertEqual(var, ["c", "b", "a"])
Packit 6f3914
Packit 6f3914
    def test_sort(self):
Packit 6f3914
        self.conf.pluginpath = ["a", "c", "b"]
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a", "c", "b"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var, ["a", "c", "b"])
Packit 6f3914
Packit 6f3914
        var.sort()
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a", "b", "c"])
Packit 6f3914
        self.assertEqual(var, ["a", "b", "c"])
Packit 6f3914
Packit 6f3914
    def test_priority(self):
Packit 6f3914
        self.conf._set_value("pluginpath", ["a"], dnf.conf.config.PRIO_PLUGINDEFAULT)
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["a"])
Packit 6f3914
Packit 6f3914
        self.conf._set_value("pluginpath", ["b"], dnf.conf.config.PRIO_PLUGINDEFAULT)
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["b"])
Packit 6f3914
Packit 6f3914
        # setting with lower priority is NOT allowed
Packit 6f3914
        self.conf._set_value("pluginpath", ["c"], dnf.conf.config.PRIO_DEFAULT)
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["b"])
Packit 6f3914
Packit 6f3914
        # resetting with lower priority is NOT allowed
Packit 6f3914
        self.conf._set_value("pluginpath", [], dnf.conf.config.PRIO_DEFAULT)
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["b"])
Packit 6f3914
Packit 6f3914
        self.conf.pluginpath = ["d"]
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["d"])
Packit 6f3914
Packit 6f3914
        self.conf.pluginpath.append("e")
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, ["d", "e"])
Packit 6f3914
Packit 6f3914
        self.conf.pluginpath = []
Packit 6f3914
        self.assertEqual(self.conf.pluginpath, [])
Packit 6f3914
Packit 6f3914
    def test_references(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
Packit 6f3914
        var1 = self.conf.pluginpath
Packit 6f3914
        var2 = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var1, ["a"])
Packit 6f3914
        self.assertEqual(var2, ["a"])
Packit 6f3914
Packit 6f3914
        var1 += ["b", "c"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a", "b", "c"])
Packit 6f3914
        self.assertEqual(var1, ["a", "b", "c"])
Packit 6f3914
        self.assertEqual(var2, ["a", "b", "c"])
Packit 6f3914
Packit 6f3914
    def test_add(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.conf._set_value("pluginpath", ["b"])
Packit 6f3914
        var = var + ["c"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["b"])
Packit 6f3914
        self.assertEqual(var, ["b", "c"])
Packit 6f3914
Packit 6f3914
    def test_contains(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.conf._set_value("pluginpath", ["b"])
Packit 6f3914
        self.assertIn("b", var)
Packit 6f3914
Packit 6f3914
    def test_eq(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.conf._set_value("pluginpath", ["b"])
Packit 6f3914
        self.assertEqual(var, ["b"])
Packit 6f3914
Packit 6f3914
    def test_ge(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.conf._set_value("pluginpath", ["b"])
Packit 6f3914
        self.assertTrue(var >= ["a", "b"])
Packit 6f3914
Packit 6f3914
    def test_gt(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.conf._set_value("pluginpath", ["b"])
Packit 6f3914
        self.assertTrue(var > ["a", "a"])
Packit 6f3914
Packit 6f3914
    def test_le(self):
Packit 6f3914
        self.conf.pluginpath = ["a", "b"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a", "b"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.conf._set_value("pluginpath", [])
Packit 6f3914
        self.conf._set_value("pluginpath", ["a"])
Packit 6f3914
        self.assertTrue(var <= ["a"])
Packit 6f3914
Packit 6f3914
    def test_lt(self):
Packit 6f3914
        self.conf.pluginpath = ["a", "b"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a", "b"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.conf._set_value("pluginpath", [])
Packit 6f3914
        self.conf._set_value("pluginpath", ["a"])
Packit 6f3914
        self.assertTrue(var < ["b"])
Packit 6f3914
Packit 6f3914
    def test_ne(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.conf._set_value("pluginpath", ["b"])
Packit 6f3914
        self.assertNotEqual(var, ["a"])
Packit 6f3914
Packit 6f3914
    def test_mul(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var, ["a"])
Packit 6f3914
Packit 6f3914
        var = var * 3
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
        self.assertEqual(var, ["a", "a", "a"])
Packit 6f3914
Packit 6f3914
    def test_rmul(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.assertEqual(var, ["a"])
Packit 6f3914
Packit 6f3914
        var = 3 * var
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
        self.assertEqual(var, ["a", "a", "a"])
Packit 6f3914
Packit 6f3914
    def test_getitem(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.conf._set_value("pluginpath", ["a", "b"])
Packit 6f3914
        self.assertEqual(var[1], "b")
Packit 6f3914
Packit 6f3914
    def test_iter(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.conf._set_value("pluginpath", ["b"])
Packit 6f3914
Packit 6f3914
        length = 0
Packit 6f3914
        for i in iter(var):
Packit 6f3914
            length += 1
Packit 6f3914
            if length == 1:
Packit 6f3914
                self.assertEqual(i, "b")
Packit 6f3914
        self.assertEqual(length, 1)
Packit 6f3914
Packit 6f3914
    def test_len(self):
Packit 6f3914
        self.conf.pluginpath = ["a", "b"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a", "b"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.conf._set_value("pluginpath", ["b"])
Packit 6f3914
        self.assertEqual(len(var), 1)
Packit 6f3914
Packit 6f3914
    def test_copy(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.conf._set_value("pluginpath", ["b"])
Packit 6f3914
        var2 = var.copy()
Packit 6f3914
        self.assertEqual(var2, ["b"])
Packit 6f3914
Packit 6f3914
    def test_count(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.conf._set_value("pluginpath", ["a", "a"])
Packit 6f3914
        self.assertEqual(var.count("a"), 2)
Packit 6f3914
Packit 6f3914
    def test_index(self):
Packit 6f3914
        self.conf.pluginpath = ["a"]
Packit 6f3914
        self.assertEqual(list(self.conf.pluginpath), ["a"])
Packit 6f3914
Packit 6f3914
        var = self.conf.pluginpath
Packit 6f3914
        self.conf._set_value("pluginpath", ["a", "b"])
Packit 6f3914
        self.assertEqual(var.index("b"), 1)