Exemple #1
0
    def test_empty_bookmark(self):
        empty_bookmark = {'bookmarks': {}}

        # Case with no value to fall back on
        self.assertIsNone(bookmarks.get_offset(empty_bookmark, 'some_stream'))

        # Case with a given default
        self.assertEqual(
            bookmarks.get_offset(empty_bookmark, 'some_stream',
                                 'default_value'), 'default_value')
Exemple #2
0
    def test_non_empty_state(self):
        stream_id_1 = 'customers'
        bookmark_key_1 = 'datetime'
        bookmark_val_1 = 123456789
        offset_val = 'fizzy water'

        non_empty_state = {
            'bookmarks': {
                stream_id_1: {
                    bookmark_key_1: bookmark_val_1,
                    'offset': offset_val
                }
            }
        }

        #
        # Cases with no value to fall back on
        #

        # Bad stream
        self.assertIsNone(bookmarks.get_offset(non_empty_state, 'some_stream'))

        # Good stream
        self.assertEqual(bookmarks.get_offset(non_empty_state, stream_id_1),
                         offset_val)

        #
        # Case with a given default
        #

        # Bad stream
        self.assertEqual(
            bookmarks.get_offset(non_empty_state, 'some_stream',
                                 'default_value'), 'default_value')

        # Good stream
        self.assertEqual(
            bookmarks.get_offset(non_empty_state, stream_id_1,
                                 'default_value'), offset_val)
 def get_offset(self, path):
     off = bks_.get_offset(self.state, path[0])
     return (off or {}).get(path[1])