Exemplo n.º 1
0
def test_main(
    to_file,
    debug,
    log_level,
    backup_and_restore_sys_argv,
    capsys,
    monkeypatch,
    tmp_path,
):
    log_file = tmp_path / "anonip.log"
    sys.argv = [
        "anonip.py",
        "-c",
        "2",
        "-4",
        "12",
        "-6",
        "42",
        "-i",
        "1",
        "-l",
        ";",
        "-r",
        "replace",
        "-p",
    ]
    if to_file:
        sys.argv += ["-o", str(log_file)]
    if debug:
        sys.argv.append("-d")

    monkeypatch.setattr(
        "sys.stdin",
        StringIO("string;192.168.100.200\n"
                 "string;1.2.3.4\n"
                 "string;2001:0db8:85a3:0000:0000:8a2e:0370:7334\n"
                 "string;2a00:1450:400a:803::200e\n"
                 "string;string\n"),
    )
    anonip.main()

    if to_file:
        with log_file.open() as f:
            lines = [l.rstrip("\n") for l in f.readlines()]
    else:
        captured = capsys.readouterr()
        lines = captured.out.split("\n")[:-1]

    assert lines == [
        "string;192.168.100.200",
        "string;1.2.0.1",
        "string;2001:db8:85a3::8a2e:370:7334",
        "string;2a00:1450:400a:803::1",
        "string;replace",
    ]

    logger = logging.getLogger("anonip")
    assert logger.level == log_level
Exemplo n.º 2
0
def test_main_reading_from_input_file(tmp_path, backup_and_restore_sys_argv):
    input_filename = tmp_path / "anonip-input.txt"
    input_filename.write_text(
        "192.168.100.200 string\n"
        "1.2.3.4 string\n"
        "2001:0db8:85a3:0000:0000:8a2e:0370:7334 string\n"
        "2a00:1450:400a:803::200e string\n")
    sys.argv = ["anonip.py", "--input", str(input_filename), "-d"]
    with captured_output() as (out, err):
        anonip.main()
    lines = out.getvalue().split("\n")[:-1]
    assert lines == [
        "192.168.96.0 string",
        "1.2.0.0 string",
        "2001:db8:85a0:: string",
        "2a00:1450:4000:: string",
    ]
Exemplo n.º 3
0
def test_main_reading_from_input_file(tmp_path, backup_and_restore_sys_argv):
    input_filename = tmp_path / "anonip-input.txt"
    input_filename.write_text(
        "string;192.168.100.200\n"
        "string;1.2.3.4\n"
        "string;2001:0db8:85a3:0000:0000:8a2e:0370:7334\n"
        "string;2a00:1450:400a:803::200e\n"
        "string;string\n\n")
    sys.argv = ["anonip.py", "--input", str(input_filename), "-d"]
    with captured_output() as (out, err):
        anonip.main()
    lines = out.getvalue().split("\n")
    assert lines[0] == "string;192.168.100.200"
    assert lines[1] == "string;1.2.3.4"
    assert lines[2] == "string;2001:0db8:85a3:0000:0000:8a2e:0370:7334"
    assert lines[3] == "string;2a00:1450:400a:803::200e"
    assert lines[4] == "string;string"
Exemplo n.º 4
0
def test_main(to_file, debug, log_level, backup_and_restore_sys_argv,
              tmp_path):
    log_file = tmp_path / "anonip.log"
    sys.argv = [
        "anonip.py",
        "-c",
        "2",
        "-4",
        "12",
        "-6",
        "42",
        "-i",
        "1",
        "-l",
        ";",
        "-r",
        "replace",
        "-p",
    ]
    if to_file:
        sys.argv += ["-o", str(log_file)]
    if debug:
        sys.argv.append("-d")

    sys.stdin = StringIO("string;192.168.100.200\n"
                         "string;1.2.3.4\n"
                         "string;2001:0db8:85a3:0000:0000:8a2e:0370:7334\n"
                         "string;2a00:1450:400a:803::200e\n"
                         "string;string\n\n")
    with captured_output() as (out, err):
        anonip.main()

    if to_file:
        with log_file.open() as f:
            lines = [l.rstrip("\n") for l in f.readlines()]
    else:
        lines = out.getvalue().split("\n")

    assert lines[0] == "string;192.168.100.200"
    assert lines[1] == "string;1.2.0.1"
    assert lines[2] == "string;2001:db8:85a3::8a2e:370:7334"
    assert lines[3] == "string;2a00:1450:400a:803::1"
    assert lines[4] == "string;replace"

    logger = logging.getLogger("anonip")
    assert logger.level == log_level
Exemplo n.º 5
0
    def test_main_to_stdout_no_debug(self):
        sys.stdin = StringIO("string;192.168.100.200\n"
                             "string;1.2.3.4\n"
                             "string;2001:0db8:85a3:0000:0000:8a2e:0370:7334\n"
                             "string;2a00:1450:400a:803::200e\n"
                             "string;string\n\n")
        with captured_output() as (out, err):
            anonip.main()
        lines = out.getvalue().split("\n")

        self.assertEqual(lines[0], "string;192.168.100.200")
        self.assertEqual(lines[1], "string;1.2.0.1")
        self.assertEqual(lines[2], "string;2001:db8:85a3::8a2e:370:7334")
        self.assertEqual(lines[3], "string;2a00:1450:400a:803::1")
        self.assertEqual(lines[4], "string;replace")

        logger = logging.getLogger("anonip")
        self.assertEqual(logger.level, 30)
Exemplo n.º 6
0
    def test_main_writing_to_file_debug(self):
        sys.argv += ["-o", self.log_file, "-d"]
        sys.stdin = StringIO("string;192.168.100.200\n"
                             "string;1.2.3.4\n"
                             "string;2001:0db8:85a3:0000:0000:8a2e:0370:7334\n"
                             "string;2a00:1450:400a:803::200e\n"
                             "string;string\n\n")
        anonip.main()

        self.assertTrue(os.path.exists(self.log_file))
        with open(self.log_file, "r") as f:
            lines = f.readlines()

        self.assertEqual(lines[0], "string;192.168.100.200\n")
        self.assertEqual(lines[1], "string;1.2.0.1\n")
        self.assertEqual(lines[2], "string;2001:db8:85a3::8a2e:370:7334\n")
        self.assertEqual(lines[3], "string;2a00:1450:400a:803::1\n")
        self.assertEqual(lines[4], "string;replace\n")

        logger = logging.getLogger("anonip")
        self.assertEqual(logger.level, 10)