Blame tests/conf/test_list_option.py

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