def test_anon_handle_search(self, stdout):
        """Test anon_handle_search function"""
        session = mock.MagicMock()
        options = mock.MagicMock()
        s_type, s_pattern = 'build', 'fedora'
        arguments = [s_type, s_pattern]

        search_results = [{
            'id': 166,
            'name': 'f25'
        }, {
            'id': 177,
            'name': 'f26'
        }, {
            'id': 202,
            'name': 'f27'
        }]

        session.search.return_value = search_results
        expected = ''.join('%s\n' % x['name'] for x in search_results)

        # Case 1. normal search
        anon_handle_search(options, session, arguments)
        self.assert_console_message(stdout, expected)
        session.search.assert_called_with(s_pattern, s_type, 'glob')

        # Case 2. exact match
        anon_handle_search(options, session, arguments + ['--exact'])
        self.assert_console_message(stdout, expected)
        session.search.assert_called_with(s_pattern, s_type, 'exact')

        # Case 3. regex match
        anon_handle_search(options, session, arguments + ['-r'])
        self.assert_console_message(stdout, expected)
        session.search.assert_called_with(s_pattern, s_type, 'regexp')
Esempio n. 2
0
    def test_anon_handle_search(
            self,
            stdout):
        """Test anon_handle_search function"""
        session = mock.MagicMock()
        options = mock.MagicMock()
        s_type, s_pattern = 'build', 'fedora'
        arguments = [s_type, s_pattern]

        search_results = [
            {'id': 166, 'name': 'f25'},
            {'id': 177, 'name': 'f26'},
            {'id': 202, 'name': 'f27'}
        ]

        session.search.return_value = search_results
        expected = ''.join('%s\n' % x['name'] for x in search_results)

        # Case 1. normal search
        anon_handle_search(options, session, arguments)
        self.assert_console_message(stdout, expected)
        session.search.assert_called_with(s_pattern, s_type, 'glob')

        # Case 2. exact match
        anon_handle_search(options, session, arguments + ['--exact'])
        self.assert_console_message(stdout, expected)
        session.search.assert_called_with(s_pattern, s_type, 'exact')

        # Case 3. regex match
        anon_handle_search(options, session, arguments + ['-r'])
        self.assert_console_message(stdout, expected)
        session.search.assert_called_with(s_pattern, s_type, 'regexp')