def setUp(self): self.harness = SharedStateTestHarness.SharedStateTestHarness(True) self.manager = SharedStateService.KeyspaceManager(10001,1, pingInterval=1) self.introKeyspace = SharedState.getClientInfoKeyspace() self.introRange = SharedState.KeyRange(self.introKeyspace, 1, None, None, True, False) self.views = [] self.maxDiff = None
def disabled_read_write_kv_maps_using_storage(self): for ix in range(1000): self.harness.writeToKeyspace( self.view, self.keyspaceName, NativeJson.Json('key%s' % ix), NativeJson.Json('test%s' % ix) ) logging.warn("tempDir: %s, tempDir2: %s", self.tempDir, self.tempDir2) allItemsFromViewInitial = self.harness.getAllItemsFromView(self.view, self.keyspaceName) keyspaceList = [x for x in self.harness.manager.getAllKeyspaces() if x != SharedState.getClientInfoKeyspace()] self.assertTrue(len(allItemsFromViewInitial) == 1000) self.view.flush() self.harness.sendPingAndCompact() self.harness.teardown() try: storageA = SharedStateNative.Storage.FileStorage(self.tempDir, 100, 10) storageB = SharedStateNative.Storage.FileStorage(self.tempDir2, 100, 10) self.assertTrue(len(keyspaceList) == 1) for keyspace in keyspaceList: storageForKeyspaceA = storageA.storageForKeyspace(keyspace, 0) storageForKeyspaceB = storageB.storageForKeyspace(keyspace, 0) data = storageForKeyspaceA.readKeyValueMap() self.assertTrue(len(data) > 0) storageForKeyspaceB.writeKeyValueMap(data) self.harness = self.newHarness(self.tempDir2) self.view = self.harness.newView() self.harness.subscribeToKeyspace(self.view, self.keyspaceName) allItemsFromViewFinal = self.harness.getAllItemsFromView(self.view, self.keyspaceName) self.assertEqual(allItemsFromViewInitial, allItemsFromViewFinal) finally: if storageA: storageA.shutdown() if storageB: storageB.shutdown()
def getIntrospectionContentsForView(self, view): for k, v in SharedState.iterItems(view, SharedState.getClientInfoKeyspace()): if v.value() != NativeJson.Json('disconnected'): yield int(k[1].toSimple())