示例#1
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)
示例#2
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'])
示例#3
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])
示例#4
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)
示例#5
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, [])
示例#6
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)
示例#7
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'])
示例#8
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)
示例#9
0
 def test_delete(self):
     client = Client(self.test_entry_point)
     response = Mock(**{"json.return_value": self.home_values})
     with patch.object(requests, 'get', return_value=response):
         client.gain_access('client-id', 'client-secret')
     document = client.get(self.data_url)
     item = NavigableDoc(document.items[5])
     self.assertTrue(client.delete(item))
示例#10
0
 def test_query(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_get = Mock(return_value=values)
     client.get = mock_get
     client.document = NavigableDoc(values)
     result = client.query('urn:collectiondoc:query:docs',
                           params={'tag': 'sometag'})
     self.assertTrue(result)
     self.assertEqual(len(client.document.items), 10)
     with self.assertRaises(BadQuery):
         client.query('urn:collectiondoc:query:docs',
                      params={'badtag': 'sometag'})
示例#11
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])
示例#12
0
 def test_get_without_connector_raise_no_auth_token(self):
     client = Client(self.test_url)
     with self.assertRaises(NoToken):
         client.get(self.test_url)