def testTestAndSetList_NotFound(self): key = "_TestAndSetList_NotFound" conn = TransactionSingleOp() self.assertRaises(scalaris.NotFoundError, conn.test_and_set, str(self._testTime) + key, "fail", [_TEST_DATA[0], _TEST_DATA[1]]) conn.close_connection()
def testRead_NotConnected(self): key = "_Read_NotConnected" conn = TransactionSingleOp() conn.close_connection() #self.assertRaises(scalaris.ConnectionError, conn.read, str(self._testTime) + key) self.assertRaises(scalaris.NotFoundError, conn.read, str(self._testTime) + key) conn.close_connection()
def testTestAndSetList_NotConnected(self): key = "_TestAndSetList_NotConnected" conn = TransactionSingleOp() conn.close_connection() #self.assertRaises(scalaris.ConnectionError, conn.test_and_set, str(self._testTime) + key, "fail", [_TEST_DATA[0], _TEST_DATA[1]]) self.assertRaises(scalaris.NotFoundError, conn.test_and_set, str(self._testTime) + key, "fail", [_TEST_DATA[0], _TEST_DATA[1]]) conn.close_connection()
def testTestAndSetList2(self): key = "_TestAndSetList2" conn = TransactionSingleOp() # first write all values: for i in xrange(0, len(_TEST_DATA) - 1, 2): conn.write( str(self._testTime) + key + str(i), [_TEST_DATA[i], _TEST_DATA[i + 1]]) # now try to overwrite them using test_and_set: for i in xrange(0, len(_TEST_DATA) - 1, 2): try: conn.test_and_set( str(self._testTime) + key + str(i), "fail", 1) self.fail('expected a KeyChangedError') except scalaris.KeyChangedError as exception: self.assertEqual(exception.old_value, [_TEST_DATA[i], _TEST_DATA[i + 1]]) # now try to read the data: for i in xrange(0, len(_TEST_DATA) - 1, 2): actual = conn.read(str(self._testTime) + key + str(i)) self.assertEqual(actual, [_TEST_DATA[i], _TEST_DATA[i + 1]]) conn.close_connection()
def testReqTooLarge(self): conn = TransactionSingleOp() data = '0' * _TOO_LARGE_REQUEST_SIZE key = "_ReqTooLarge" try: conn.write(str(self._testTime) + key, data) self.fail('The write should have failed unless yaws_max_post_data was set larger than ' + str(_TOO_LARGE_REQUEST_SIZE)) except scalaris.ConnectionError: pass conn.close_connection()
def testWriteList_NotConnected(self): key = "_WriteList_NotConnected" conn = TransactionSingleOp() conn.close_connection() #self.assertRaises(scalaris.ConnectionError, conn.write, str(self._testTime) + key, [_TEST_DATA[0], _TEST_DATA[1]]) conn.write(str(self._testTime) + key, [_TEST_DATA[0], _TEST_DATA[1]]) conn.close_connection()
def testWriteString_NotConnected(self): key = "_WriteString_NotConnected" conn = TransactionSingleOp() conn.close_connection() #self.assertRaises(scalaris.ConnectionError, conn.write, str(self._testTime) + key, _TEST_DATA[0]) conn.write(str(self._testTime) + key, _TEST_DATA[0]) conn.close_connection()
def testWriteString2(self): key = "_WriteString2" conn = TransactionSingleOp() for i in xrange(len(_TEST_DATA)): conn.write(str(self._testTime) + key, _TEST_DATA[i]) # now try to read the data: actual = conn.read(str(self._testTime) + key) self.assertEqual(actual, _TEST_DATA[len(_TEST_DATA) - 1]) conn.close_connection()
def testTestAndSetString_NotConnected(self): key = "_TestAndSetString_NotConnected" conn = TransactionSingleOp() conn.close_connection() #self.assertRaises(scalaris.ConnectionError, conn.test_and_set, str(self._testTime) + key, _TEST_DATA[0], _TEST_DATA[1]) self.assertRaises(scalaris.NotFoundError, conn.test_and_set, str(self._testTime) + key, _TEST_DATA[0], _TEST_DATA[1]) conn.close_connection()
def testTestAndSetString1(self): key = "_TestAndSetString1" conn = TransactionSingleOp() # first write all values: for i in xrange(0, len(_TEST_DATA) - 1, 2): conn.write(str(self._testTime) + key + str(i), _TEST_DATA[i]) # now try to overwrite them using test_and_set: for i in xrange(0, len(_TEST_DATA) - 1, 2): conn.test_and_set( str(self._testTime) + key + str(i), _TEST_DATA[i], _TEST_DATA[i + 1]) # now try to read the data: for i in xrange(0, len(_TEST_DATA), 2): actual = conn.read(str(self._testTime) + key + str(i)) self.assertEqual(actual, _TEST_DATA[i + 1]) conn.close_connection()
def testWriteList2(self): key = "_WriteList2" conn = TransactionSingleOp() mylist = [] for i in xrange(0, len(_TEST_DATA) - 1, 2): mylist = [_TEST_DATA[i], _TEST_DATA[i + 1]] conn.write(str(self._testTime) + key, mylist) # now try to read the data: actual = conn.read(str(self._testTime) + key) self.assertEqual(actual, mylist) conn.close_connection()
def testTestAndSetList1(self): key = "_TestAndSetList1" conn = TransactionSingleOp() # first write all values: for i in xrange(0, len(_TEST_DATA) - 1, 2): conn.write(str(self._testTime) + key + str(i), [_TEST_DATA[i], _TEST_DATA[i + 1]]) # now try to overwrite them using test_and_set: for i in xrange(0, len(_TEST_DATA) - 1, 2): conn.test_and_set(str(self._testTime) + key + str(i), [_TEST_DATA[i], _TEST_DATA[i + 1]], [_TEST_DATA[i + 1], _TEST_DATA[i]]) # now try to read the data: for i in xrange(0, len(_TEST_DATA) - 1, 2): actual = conn.read(str(self._testTime) + key + str(i)) self.assertEqual(actual, [_TEST_DATA[i + 1], _TEST_DATA[i]]) conn.close_connection()
def testWriteList1(self): key = "_WriteList1_" conn = TransactionSingleOp() for i in xrange(0, len(_TEST_DATA) - 1, 2): conn.write( str(self._testTime) + key + str(i), [_TEST_DATA[i], _TEST_DATA[i + 1]]) # now try to read the data: for i in xrange(0, len(_TEST_DATA), 2): actual = conn.read(str(self._testTime) + key + str(i)) self.assertEqual(actual, [_TEST_DATA[i], _TEST_DATA[i + 1]]) conn.close_connection()
def testReqTooLarge(self): conn = TransactionSingleOp() data = '0' * _TOO_LARGE_REQUEST_SIZE key = "_ReqTooLarge" try: conn.write(str(self._testTime) + key, data) self.fail( 'The write should have failed unless yaws_max_post_data was set larger than ' + str(_TOO_LARGE_REQUEST_SIZE)) except scalaris.ConnectionError: pass conn.close_connection()
def testWriteList1(self): key = "_WriteList1_" conn = TransactionSingleOp() for i in xrange(0, len(_TEST_DATA) - 1, 2): conn.write(str(self._testTime) + key + str(i), [_TEST_DATA[i], _TEST_DATA[i + 1]]) # now try to read the data: for i in xrange(0, len(_TEST_DATA), 2): actual = conn.read(str(self._testTime) + key + str(i)) self.assertEqual(actual, [_TEST_DATA[i], _TEST_DATA[i + 1]]) conn.close_connection()
def testTestAndSetList2(self): key = "_TestAndSetList2" conn = TransactionSingleOp() # first write all values: for i in xrange(0, len(_TEST_DATA) - 1, 2): conn.write(str(self._testTime) + key + str(i), [_TEST_DATA[i], _TEST_DATA[i + 1]]) # now try to overwrite them using test_and_set: for i in xrange(0, len(_TEST_DATA) - 1, 2): try: conn.test_and_set(str(self._testTime) + key + str(i), "fail", 1) self.fail('expected a KeyChangedError') except scalaris.KeyChangedError as exception: self.assertEqual(exception.old_value, [_TEST_DATA[i], _TEST_DATA[i + 1]]) # now try to read the data: for i in xrange(0, len(_TEST_DATA) - 1, 2): actual = conn.read(str(self._testTime) + key + str(i)) self.assertEqual(actual, [_TEST_DATA[i], _TEST_DATA[i + 1]]) conn.close_connection()
def testDoubleClose(self): conn = TransactionSingleOp() conn.close_connection() conn.close_connection()
def testTransactionSingleOp2(self): conn = TransactionSingleOp(conn = scalaris.JSONConnection(url = scalaris.DEFAULT_URL)) conn.close_connection()
def testTransactionSingleOp1(self): conn = TransactionSingleOp() conn.close_connection()
def testReqList_Empty(self): conn = TransactionSingleOp() conn.req_list(conn.new_req_list()) conn.close_connection()
def testReqList1(self): key = "_ReqList1_" conn = TransactionSingleOp() readRequests = conn.new_req_list() firstWriteRequests = conn.new_req_list() writeRequests = conn.new_req_list() for i in xrange(0, len(_TEST_DATA)): if (i % 2) == 0: firstWriteRequests.add_write(str(self._testTime) + key + str(i), "first_" + _TEST_DATA[i]) writeRequests.add_write(str(self._testTime) + key + str(i), "second_" + _TEST_DATA[i]) readRequests.add_read(str(self._testTime) + key + str(i)) results = conn.req_list(firstWriteRequests) # evaluate the first write results: for i in xrange(0, firstWriteRequests.size()): conn.process_result_write(results[i]) results = conn.req_list(readRequests) self.assertEqual(readRequests.size(), len(results)) # now evaluate the read results: for i in xrange(0, readRequests.size()): if (i % 2) == 0: actual = conn.process_result_read(results[i]) self.assertEqual("first_" + _TEST_DATA[i], actual) else: try: result = conn.process_result_read(results[i]) # a not found exception must be thrown self.fail('expected a NotFoundError, got: ' + str(result)) except scalaris.NotFoundError: pass results = conn.req_list(writeRequests) self.assertEqual(writeRequests.size(), len(results)) # now evaluate the write results: for i in xrange(0, writeRequests.size()): conn.process_result_write(results[i]) # once again test reads - now all reads should be successful results = conn.req_list(readRequests) self.assertEqual(readRequests.size(), len(results)) # now evaluate the read results: for i in xrange(0, readRequests.size()): actual = conn.process_result_read(results[i]) self.assertEqual("second_" + _TEST_DATA[i], actual) conn.close_connection();
def testTransactionSingleOp2(self): conn = TransactionSingleOp(conn=scalaris.JSONConnection( url=scalaris.DEFAULT_URL)) conn.close_connection()
def testReqList1(self): key = "_ReqList1_" conn = TransactionSingleOp() readRequests = conn.new_req_list() firstWriteRequests = conn.new_req_list() writeRequests = conn.new_req_list() for i in xrange(0, len(_TEST_DATA)): if (i % 2) == 0: firstWriteRequests.add_write( str(self._testTime) + key + str(i), "first_" + _TEST_DATA[i]) writeRequests.add_write( str(self._testTime) + key + str(i), "second_" + _TEST_DATA[i]) readRequests.add_read(str(self._testTime) + key + str(i)) results = conn.req_list(firstWriteRequests) # evaluate the first write results: for i in xrange(0, firstWriteRequests.size()): conn.process_result_write(results[i]) results = conn.req_list(readRequests) self.assertEqual(readRequests.size(), len(results)) # now evaluate the read results: for i in xrange(0, readRequests.size()): if (i % 2) == 0: actual = conn.process_result_read(results[i]) self.assertEqual("first_" + _TEST_DATA[i], actual) else: try: result = conn.process_result_read(results[i]) # a not found exception must be thrown self.fail('expected a NotFoundError, got: ' + str(result)) except scalaris.NotFoundError: pass results = conn.req_list(writeRequests) self.assertEqual(writeRequests.size(), len(results)) # now evaluate the write results: for i in xrange(0, writeRequests.size()): conn.process_result_write(results[i]) # once again test reads - now all reads should be successful results = conn.req_list(readRequests) self.assertEqual(readRequests.size(), len(results)) # now evaluate the read results: for i in xrange(0, readRequests.size()): actual = conn.process_result_read(results[i]) self.assertEqual("second_" + _TEST_DATA[i], actual) conn.close_connection()
def testTestAndSetString_NotFound(self): key = "_TestAndSetString_NotFound" conn = TransactionSingleOp() self.assertRaises(scalaris.NotFoundError, conn.test_and_set, str(self._testTime) + key, _TEST_DATA[0], _TEST_DATA[1]) conn.close_connection()
# http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from scalaris import TransactionSingleOp, ReplicatedDHT from scalaris import ConnectionError, TimeoutError, NotFoundError, AbortError, KeyChangedError, UnknownError import scalaris_bench import sys if __name__ == "__main__": if (len(sys.argv) == 3 and sys.argv[1] in ["--read", "-r"]): sc = TransactionSingleOp() key = sys.argv[2] try: value = sc.read(key) print 'read(' + key + ') = ' + repr(value) except ConnectionError as instance: print 'read(' + key + ') failed with connection error' sys.exit(1) except TimeoutError as instance: print 'read(' + key + ') failed with timeout' sys.exit(1) except NotFoundError as instance: print 'read(' + key + ') failed with not_found' sys.exit(1) except UnknownError as instance: print 'read(' + key + ') failed with unknown: ' + str(instance)
# http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from scalaris import TransactionSingleOp, ReplicatedDHT, PubSub from scalaris import ConnectionError, TimeoutError, NotFoundError, AbortError, UnknownError import scalaris_bench import sys if __name__ == "__main__": if (len(sys.argv) == 3 and sys.argv[1] in ["--read", "-r"]): sc = TransactionSingleOp() key = sys.argv[2] try: value = sc.read(key) print 'read(' + key + ') = ' + repr(value) except ConnectionError as instance: print 'read(' + key + ') failed with connection error' sys.exit(1) except TimeoutError as instance: print 'read(' + key + ') failed with timeout' sys.exit(1) except NotFoundError as instance: print 'read(' + key + ') failed with not_found' sys.exit(1) except UnknownError as instance: print 'read(' + key + ') failed with unknown: ' + str(instance)
# http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. from scalaris import TransactionSingleOp, ReplicatedDHT, PubSub from scalaris import ConnectionError, TimeoutError, NotFoundError, AbortError, KeyChangedError, UnknownError import scalaris_bench import sys if __name__ == "__main__": if (len(sys.argv) == 3 and sys.argv[1] in ["--read", "-r"]): sc = TransactionSingleOp() key = sys.argv[2] try: value = sc.read(key) print 'read(' + key + ') = ' + repr(value) except ConnectionError as instance: print 'read(' + key + ') failed with connection error' sys.exit(1) except TimeoutError as instance: print 'read(' + key + ') failed with timeout' sys.exit(1) except NotFoundError as instance: print 'read(' + key + ') failed with not_found' sys.exit(1) except UnknownError as instance: print 'read(' + key + ') failed with unknown: ' + str(instance)