Пример #1
0
 def test_get_raw_content(self):
     """
     Test getting raw feed content
     """
     self.populate_db_with_documents(3)
     feed = Feed(self.db, raw_data=True)
     raw_content = list()
     for raw_line in feed:
         self.assertIsInstance(raw_line, BYTETYPE)
         raw_content.append(raw_line)
     changes = json.loads(''.join([unicode_(x) for x in raw_content]))
     if self.is_couchdb_1x_version() is True:
         self.assertSetEqual(set(changes.keys()),
                             set(['results', 'last_seq']))
     else:
         self.assertSetEqual(set(changes.keys()),
                             set(['results', 'last_seq', 'pending']))
     results = list()
     for result in changes['results']:
         self.assertSetEqual(set(result.keys()),
                             set(['seq', 'changes', 'id']))
         results.append(result)
     expected = set(['julia000', 'julia001', 'julia002'])
     self.assertSetEqual(set([x['id'] for x in results]), expected)
     self.assertTrue(str(changes['last_seq']).startswith('3'))
     self.assertIsNone(feed.last_seq)
Пример #2
0
 def test_get_raw_content(self):
     """
     Test getting raw feed content
     """
     self.populate_db_with_documents(3)
     feed = Feed(self.db, raw_data=True)
     raw_content = list()
     for raw_line in feed:
         self.assertIsInstance(raw_line, BYTETYPE)
         raw_content.append(raw_line)
     changes = json.loads(''.join([unicode_(x) for x in raw_content]))
     if self.cloudant_test:
         self.assertSetEqual(
             set(changes.keys()), set(['results', 'last_seq', 'pending']))
     else:
         self.assertSetEqual(
             set(changes.keys()), set(['results', 'last_seq']))
     results = list()
     for result in changes['results']:
         self.assertSetEqual(set(result.keys()), set(['seq', 'changes', 'id']))
         results.append(result)
     expected = set(['julia000', 'julia001', 'julia002'])
     self.assertSetEqual(set([x['id'] for x in results]), expected)
     self.assertTrue(str(changes['last_seq']).startswith('3'))
     self.assertIsNone(feed.last_seq)
Пример #3
0
 def test_get_raw_content(self):
     """
     Test getting raw feed content
     """
     feed = Feed(self.client, raw_data=True, feed='continuous', timeout=100)
     raw_content = list()
     for raw_line in feed:
         self.assertIsInstance(raw_line, BYTETYPE)
         raw_content.append(raw_line)
         if len(raw_content) == 3:
             feed.stop()
     changes = [json.loads(unicode_(x)) for x in raw_content]
     self.assert_changes_in_db_updates_feed(changes)
Пример #4
0
 def test_get_raw_content(self):
     """
     Test getting raw feed content
     """
     self.create_dbs(3)
     feed = Feed(self.client, limit=3, raw_data=True)
     raw_content = list()
     for raw_line in feed:
         self.assertIsInstance(raw_line, BYTETYPE)
         raw_content.append(raw_line)
     changes = json.loads(''.join([unicode_(x) for x in raw_content]))
     self.assertSetEqual(set(changes.keys()), set(['results', 'last_seq']))
     self.assertEqual(len(changes['results']), 3)
     self.assertIsNotNone(changes['last_seq'])
     self.assertIsNone(feed.last_seq)
Пример #5
0
 def test_get_raw_content(self):
     """
     Test getting raw feed content
     """
     self.create_dbs(3)
     feed = Feed(self.client, limit=3, raw_data=True)
     raw_content = list()
     for raw_line in feed:
         self.assertIsInstance(raw_line, BYTETYPE)
         raw_content.append(raw_line)
     changes = json.loads(''.join([unicode_(x) for x in raw_content]))
     self.assertSetEqual(set(changes.keys()), set(['results', 'last_seq']))
     self.assertEqual(len(changes['results']), 3)
     self.assertIsNotNone(changes['last_seq'])
     self.assertIsNone(feed.last_seq)
Пример #6
0
 def test_get_raw_feed_with_heartbeat(self):
     """
     Test getting raw content back for a feed with a heartbeat
     """
     self.populate_db_with_documents()
     feed = Feed(self.db, raw_data=True, feed='continuous', heartbeat=10)
     raw_content = list()
     heartbeats = 0
     for raw_line in feed:
         if not raw_line:
             self.assertEqual(len(raw_line), 0)
             heartbeats += 1
         else:
             self.assertIsInstance(raw_line, BYTETYPE)
             raw_content.append(raw_line)
         if heartbeats == 3:
             feed.stop()
     changes = [json.loads(unicode_(x)) for x in raw_content]
     expected = set(['julia{0:03d}'.format(i) for i in range(100)])
     self.assertSetEqual(set([x['id'] for x in changes]), expected)
     self.assertIsNone(feed.last_seq)
Пример #7
0
 def test_get_raw_content(self):
     """
     Test getting raw feed content
     """
     feed = Feed(self.client, raw_data='True', feed='continuous', timeout=100)
     raw_content = list()
     for raw_line in feed:
         self.assertIsInstance(raw_line, BYTETYPE)
         if not raw_line:
             self.create_dbs(3)
         else:
             raw_content.append(raw_line)
             if len(raw_content) == 3:
                 feed.stop()
     changes = [json.loads(unicode_(x)) for x in raw_content]
     self.assertDictEqual(
         changes[0], {'db_name': self.new_dbs[0].database_name, 'type': 'created'})
     self.assertDictEqual(
         changes[1], {'db_name': self.new_dbs[1].database_name, 'type': 'created'})
     self.assertDictEqual(
         changes[2], {'db_name': self.new_dbs[2].database_name, 'type': 'created'})
Пример #8
0
 def test_get_raw_feed_with_heartbeat(self):
     """
     Test getting raw content back for a feed with a heartbeat
     """
     self.populate_db_with_documents()
     feed = Feed(self.db, raw_data=True, feed='continuous', heartbeat=10)
     raw_content = list()
     heartbeats = 0
     for raw_line in feed:
         if not raw_line:
             self.assertEqual(len(raw_line), 0)
             heartbeats += 1
         else:
             self.assertIsInstance(raw_line, BYTETYPE)
             raw_content.append(raw_line)
         if heartbeats == 3:
             feed.stop()
     changes = [json.loads(unicode_(x)) for x in raw_content]
     expected = set(['julia{0:03d}'.format(i) for i in range(100)])
     self.assertSetEqual(set([x['id'] for x in changes]), expected)
     self.assertIsNone(feed.last_seq)
Пример #9
0
 def test_get_raw_feed_with_heartbeat(self):
     """
     Test getting raw content back for a feed with a heartbeat
     """
     feed = Feed(self.client, raw_data=True, feed='continuous', since='now',
         heartbeat=1000)
     raw_content = list()
     heartbeats = 0
     for raw_line in feed:
         if not raw_line:
             self.assertEqual(len(raw_line), 0)
             heartbeats += 1
             if heartbeats < 4:
                 self.create_dbs(1)
         else:
             self.assertIsInstance(raw_line, BYTETYPE)
             raw_content.append(raw_line) 
         if heartbeats >= 3 and len(raw_content) >= 3:
             feed.stop()
     changes = [json.loads(unicode_(x)) for x in raw_content]
     self.assertTrue(changes[0]['seq'] < changes[1]['seq'] < changes[2]['seq'])
     self.assertIsNone(feed.last_seq)
Пример #10
0
 def test_get_raw_feed_with_heartbeat(self):
     """
     Test getting raw content back for a feed with a heartbeat
     """
     feed = Feed(self.client, raw_data=True, feed='continuous', since='now',
         heartbeat=1000)
     raw_content = list()
     heartbeats = 0
     for raw_line in feed:
         if not raw_line:
             self.assertEqual(len(raw_line), 0)
             heartbeats += 1
             if heartbeats < 4:
                 self.create_dbs(1)
         else:
             self.assertIsInstance(raw_line, BYTETYPE)
             raw_content.append(raw_line) 
         if heartbeats >= 3 and len(raw_content) >= 3:
             feed.stop()
     changes = [json.loads(unicode_(x)) for x in raw_content]
     self.assertTrue(changes[0]['seq'] < changes[1]['seq'] < changes[2]['seq'])
     self.assertIsNone(feed.last_seq)