示例#1
0
 def test_get_no_result(self):
     client = Client(self.test_entry_point)
     mock_connector = Mock(**{'get.return_value': None})
     client.connector = mock_connector
     result = client.get(self.data_url)
     self.assertEqual(result, None)
     self.assertEqual(client.document, None)
示例#2
0
 def test_home(self):
     client = Client(self.test_entry_point)
     mock_connector = Mock(**{'get.return_value': self.home_values})
     client.connector = mock_connector
     result = client.home()
     self.assertTrue(result)
     self.assertTrue(result.links)
     self.assertEqual(len(result.links), 7)
示例#3
0
    def test_prev(self):
        client = Client(self.test_entry_point)
        with open(self.data_doc, 'r') as jfile:
            values = json.loads(jfile.read())
        mock_connector = Mock(**{'get.return_value': values})
        client.connector = mock_connector
        client.get(self.data_url)

        with patch.object(Client, 'get') as mock_get:
            self.assertEqual(client.prev(), None)
示例#4
0
    def test_last(self):
        client = Client(self.test_entry_point)
        with open(self.data_doc, 'r') as jfile:
            values = json.loads(jfile.read())
        mock_connector = Mock(**{'get.return_value': values})
        client.connector = mock_connector
        client.get(self.data_url)

        with patch.object(Client, 'get') as mock_get:
            client.last()
            mock_get.assert_called_with(self.nav_values['last'])
示例#5
0
 def test_load_last_page_in_history(self):
     client = Client(self.test_entry_point)
     with open(self.data_doc, 'r') as jfile:
         values = json.loads(jfile.read())
     mock_connector = Mock(**{'get.return_value': values})
     client.connector = mock_connector
     client.current_page = self.test_entry_point
     client.history.append(self.data_url)
     client.get(self.data_url)
     self.assertEqual(client.history, [])
     self.assertEqual(client.forward_stack, [self.test_entry_point])
示例#6
0
    def test_history_collected(self):
        client = Client(self.test_entry_point)
        with open(self.data_doc, 'r') as jfile:
            values = json.loads(jfile.read())
        mock_connector = Mock(**{'get.return_value': values})
        client.connector = mock_connector
        client.current_page = self.data_url

        # History won't be collected until our second page
        client.get(self.test_url)
        self.assertNotEqual(client.history, [])
        self.assertEqual(client.history[-1], self.data_url)
示例#7
0
    def test_get_makes_history(self):
        client = Client(self.test_entry_point)
        with open(self.data_doc, 'r') as jfile:
            values = json.loads(jfile.read())
        mock_connector = Mock(**{'get.return_value': values})
        client.connector = mock_connector

        # current page should be set to None until first request
        self.assertEqual(client.current_page, None)
        client.get(self.data_url)
        self.assertEqual(client.current_page, self.data_url)
        self.assertEqual(client.history, [])
示例#8
0
    def test_forward(self):
        client = Client(self.test_entry_point)
        with open(self.data_doc, 'r') as jfile:
            values = json.loads(jfile.read())
        mock_connector = Mock(**{'get.return_value': values})
        client.connector = mock_connector
        client.current_page = self.test_entry_point
        client.history.append(self.data_url)
        client.get(self.data_url)

        with patch.object(Client, 'get') as mock_get:
            client.forward()
            mock_get.assert_called_with(self.test_entry_point)
示例#9
0
 def test_client_pager(self):
     client = Client(self.test_entry_point)
     with open(self.data_doc, 'r') as jfile:
         values = json.loads(jfile.read())
     mock_connector = Mock(**{'get.return_value': values})
     client.connector = mock_connector
     client.get(self.data_url)
     self.assertNotEqual(client.pager, None)
     self.assertTrue(client.pager.navigable)
     self.assertEqual(client.pager.next, self.nav_values['next'])
     self.assertEqual(client.pager.prev, None)
     self.assertEqual(client.pager.first, self.nav_values['first'])
     self.assertEqual(client.pager.last, self.nav_values['last'])
     self.assertEqual(client.pager.current, self.nav_values['current'])
示例#10
0
    def test_history_end2end(self):
        # Repeat the three previous tests as end-to-end test
        client = Client(self.test_entry_point)
        with open(self.data_doc, 'r') as jfile:
            values = json.loads(jfile.read())
        mock_connector = Mock(**{'get.return_value': values})
        client.connector = mock_connector

        # current page should be set to None until first request
        self.assertEqual(client.current_page, None)
        client.get(self.data_url)
        self.assertEqual(client.current_page, self.data_url)
        self.assertEqual(client.history, [])

        # History won't be collected until our second page
        client.get(self.test_url)
        self.assertNotEqual(client.history, [])
        self.assertEqual(client.history[-1], self.data_url)

        # History will empty if we request last page in history stack
        client.get(self.data_url)
        self.assertEqual(client.history, [])
        self.assertEqual(client.forward_stack, [self.test_url])