Exemplo n.º 1
0
    def test_parse_offset_arg(self):
        """Test if offset parameter is parsed"""

        parser = BackendCommandArgumentParser(offset=True)

        # Check default value
        args = []
        parsed_args = parser.parse(*args)

        self.assertEqual(parsed_args.offset, 0)

        # Check argument
        args = ['--offset', '88']
        parsed_args = parser.parse(*args)

        self.assertEqual(parsed_args.offset, 88)
Exemplo n.º 2
0
    def test_parse_with_aliases(self):
        """Test if a set of aliases is created after parsing"""

        aliases = {
            'label': 'tag',
            'label2': 'tag',
            'newdate': 'from_date',
            'from_date': 'tag',
            'notfound': 'backend_token'
        }
        parser = BackendCommandArgumentParser(from_date=True, aliases=aliases)

        args = ['--tag', 'test', '--from-date', '2015-01-01']
        parsed_args = parser.parse(*args)

        expected_dt = datetime.datetime(2015,
                                        1,
                                        1,
                                        0,
                                        0,
                                        tzinfo=dateutil.tz.tzutc())

        self.assertIsInstance(parsed_args, argparse.Namespace)
        self.assertEqual(parsed_args.tag, 'test')
        self.assertEqual(parsed_args.from_date, expected_dt)

        # Check aliases
        self.assertEqual(parsed_args.label, 'test')
        self.assertEqual(parsed_args.label2, 'test')
        self.assertEqual(parsed_args.newdate, expected_dt)
        self.assertNotIn('notfound', parsed_args)
    def test_remove_empty_category(self):
        """Test whether category argument is removed when no value is given"""

        args = []
        parser = BackendCommandArgumentParser(archive=True)
        parsed_args = parser.parse(*args)

        with self.assertRaises(AttributeError):
            _ = parsed_args.category

        # An empty string is parsed
        args = ['--category', '']
        parser = BackendCommandArgumentParser(archive=True)
        parsed_args = parser.parse(*args)

        self.assertEqual(parsed_args.category, '')
Exemplo n.º 4
0
    def test_fetch_archive_needs_category(self):
        """Test if fetch-archive needs a category"""

        args = ['--fetch-archive']
        parser = BackendCommandArgumentParser(archive=True)

        with self.assertRaises(AttributeError):
            _ = parser.parse(*args)
Exemplo n.º 5
0
    def test_incompatible_fetch_archive_and_no_archive(self):
        """Test if fetch-archive and no-archive arguments are incompatible"""

        args = ['--fetch-archive', '--no-archive']
        parser = BackendCommandArgumentParser(archive=True)

        with self.assertRaises(AttributeError):
            _ = parser.parse(*args)
Exemplo n.º 6
0
    def test_parse_default_args(self):
        """Test if the default configured arguments are parsed"""

        args = ['--tag', 'test']

        parser = BackendCommandArgumentParser()
        parsed_args = parser.parse(*args)

        self.assertIsInstance(parsed_args, argparse.Namespace)
        self.assertEqual(parsed_args.tag, 'test')
Exemplo n.º 7
0
    def test_parse_auth_args(self):
        """Test if the authtentication arguments are parsed"""

        args = ['-u', 'jsmith', '-p', '1234', '-t', 'abcd']

        parser = BackendCommandArgumentParser(basic_auth=True, token_auth=True)
        parsed_args = parser.parse(*args)

        self.assertIsInstance(parsed_args, argparse.Namespace)
        self.assertEqual(parsed_args.user, 'jsmith')
        self.assertEqual(parsed_args.password, '1234')
        self.assertEqual(parsed_args.api_token, 'abcd')
Exemplo n.º 8
0
    def test_parse_cache_args(self):
        """Test if the authtentication arguments are parsed"""

        args = ['--cache-path', '/tmp/cache', '--clean-cache', '--fetch-cache']

        parser = BackendCommandArgumentParser(cache=True)
        parsed_args = parser.parse(*args)

        self.assertIsInstance(parsed_args, argparse.Namespace)
        self.assertEqual(parsed_args.cache_path, '/tmp/cache')
        self.assertEqual(parsed_args.clean_cache, True)
        self.assertEqual(parsed_args.fetch_cache, True)
        self.assertEqual(parsed_args.no_cache, False)
Exemplo n.º 9
0
    def test_parse_date_args(self):
        """Test if date parameters are parsed"""

        parser = BackendCommandArgumentParser(from_date=True, to_date=True)

        # Check default value
        args = []
        parsed_args = parser.parse(*args)

        self.assertEqual(parsed_args.from_date, DEFAULT_DATETIME)
        self.assertEqual(parsed_args.to_date, None)

        # Check argument 'from-date'
        args = ['--from-date', '2015-01-01']
        parsed_args = parser.parse(*args)

        expected = datetime.datetime(2015,
                                     1,
                                     1,
                                     0,
                                     0,
                                     tzinfo=dateutil.tz.tzutc())
        self.assertEqual(parsed_args.from_date, expected)
        self.assertEqual(parsed_args.to_date, None)

        # Invalid 'from-date'
        args = ['--from-date', 'asdf']

        with self.assertRaises(InvalidDateError):
            parsed_args = parser.parse(*args)

        # Check argument 'to-date'
        args = ['--to-date', '2016-01-01']
        parsed_args = parser.parse(*args)

        expected_dt = datetime.datetime(2016,
                                        1,
                                        1,
                                        0,
                                        0,
                                        tzinfo=dateutil.tz.tzutc())
        self.assertEqual(parsed_args.from_date, DEFAULT_DATETIME)
        self.assertEqual(parsed_args.to_date, expected_dt)

        # Invalid 'to-date'
        args = ['--to-date', 'asdf']

        with self.assertRaises(InvalidDateError):
            parsed_args = parser.parse(*args)

        # Check both arguments
        args = ['--from-date', '2015-01-01', '--to-date', '2016-01-01']
        parsed_args = parser.parse(*args)

        self.assertEqual(parsed_args.from_date, expected)
        self.assertEqual(parsed_args.to_date, expected_dt)
Exemplo n.º 10
0
    def test_parse_archive_args(self):
        """Test if achiving arguments are parsed"""

        args = ['--archive-path', '/tmp/archive',
                '--fetch-archive',
                '--archived-since', '2016-01-01',
                '--category', 'mocked']

        parser = BackendCommandArgumentParser(archive=True)
        parsed_args = parser.parse(*args)

        expected_dt = datetime.datetime(2016, 1, 1, 0, 0,
                                        tzinfo=dateutil.tz.tzutc())

        self.assertIsInstance(parsed_args, argparse.Namespace)
        self.assertEqual(parsed_args.archive_path, '/tmp/archive')
        self.assertEqual(parsed_args.fetch_archive, True)
        self.assertEqual(parsed_args.no_archive, False)
        self.assertEqual(parsed_args.archived_since, expected_dt)