@@ -0,0 +1,1282 @@
+import os%0Aimport select%0A%0Aimport groundstation.fs_watcher as fs_watcher%0Afrom groundstation.peer_socket import PeerSocket%0A%0Afrom integration_fixture import StationIntegrationFixture, %5C%0A                                TestListener, %5C%0A                                TestClient%0A%0Aclass StationFSWatcherIntegration(StationIntegrationFixture):%0A    def test_notifies_peer(self):%0A        read_sockets = %5B%5D%0A        write_sockets = %5B%5D%0A        def tick():%0A            return select.select(read_sockets, write_sockets, %5B%5D, 1)%0A%0A        addr = os.path.join(self.dir, %22listener%22)%0A        listener = TestListener(addr)%0A        client = TestClient(addr)%0A        peer = listener.accept(PeerSocket)%0A        watcher = fs_watcher.FSWatcher(self.station.store.object_root)%0A%0A        read_sockets.append(client)%0A        read_sockets.append(watcher)%0A        self.station.write(%22trolololol%22)%0A        (sread, _, _) = tick()%0A%0A        self.assertIn(watcher, sread)%0A        obj_name = watcher.read()%0A        client.notify_new_object(self.station, obj_name)%0A        client.send()%0A%0A        peer.recv()%0A        data = peer.packet_queue.pop()%0A        gizmo = self.station.gizmo_factory.hydrate(data, peer)%0A        assert gizmo is not None, %22gizmo_factory returned None%22%0A        gizmo.process()%0A%0A        watcher.kill()%0A

Test that watchers send newobject requests