def test_multiple_watchers_on_single_serverset(self):
        fd, tmp_file = tempfile.mkstemp()

        test_data1 = [0, None]

        def on_change1(value):
            test_data1[0] += 1
            test_data1[1] = value

        test_data2 = [0, None]

        def on_change2(value):
            test_data2[0] += 1
            test_data2[1] = value

        new_content = "hello\nworld"
        watch = FileWatch(polling=False)
        watch._clear_all_watches()
        self._validate_empty_internal_map(watch)
        watch.add_watch(tmp_file, on_change1, watch_type='serverset')
        self._validate_internal_map(watch, tmp_file, 'serverset', 1)
        watch.add_watch(tmp_file, on_change2, watch_type='serverset')
        self._validate_internal_map(watch, tmp_file, 'serverset', 2)
        time.sleep(1)
        f = open(tmp_file, 'w')
        f.write(new_content)
        f.close()
        expected_serverset = new_content.split('\n')
        watch._check_file_updates()
        self._validate_internal_map(watch, tmp_file, 'serverset', 2)
        self.assertEqual(test_data1[0], 2)
        self.assertEqual(test_data1[1], expected_serverset)
        self.assertEqual(test_data2[0], 2)
        self.assertEqual(test_data2[1], expected_serverset)
        del watch
        os.remove(tmp_file)
Queries S3 based on specified "user_id", and the specified
dataset/ETHPy150Open pinterest/kingpin/kingpin/tests/kazoo_utils/test_file_watch.py/FileWatchTestCase.test_multiple_watchers_on_single_serverset--crossover with--dataset/ETHPy150Open viewfinderco/viewfinder/backend/db/client_log.py/ClientLog.ListClientLogs