示例#1
0
 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()
示例#2
0
 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()
示例#3
0
 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()
示例#4
0
    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()
示例#5
0
 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()
示例#6
0
 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()
示例#7
0
 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()
示例#8
0
    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()
示例#9
0
 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()
示例#10
0
 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()
示例#11
0
    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()
示例#12
0
    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()
示例#13
0
 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()
示例#14
0
 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()
示例#15
0
    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()
示例#16
0
    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()
示例#17
0
 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()
示例#18
0
 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()
示例#19
0
 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()
示例#20
0
 def testDoubleClose(self):
     conn = TransactionSingleOp()
     conn.close_connection()
     conn.close_connection()
示例#21
0
 def testTransactionSingleOp2(self):
     conn = TransactionSingleOp(conn = scalaris.JSONConnection(url = scalaris.DEFAULT_URL))
     conn.close_connection()
示例#22
0
 def testTransactionSingleOp1(self):
     conn = TransactionSingleOp()
     conn.close_connection()
示例#23
0
 def testReqList_Empty(self):
     conn = TransactionSingleOp()
     conn.req_list(conn.new_req_list())
     conn.close_connection()
示例#24
0
    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();
示例#25
0
 def testReqList_Empty(self):
     conn = TransactionSingleOp()
     conn.req_list(conn.new_req_list())
     conn.close_connection()
示例#26
0
 def testTransactionSingleOp2(self):
     conn = TransactionSingleOp(conn=scalaris.JSONConnection(
         url=scalaris.DEFAULT_URL))
     conn.close_connection()
示例#27
0
    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()
示例#28
0
 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()
示例#29
0
 def testDoubleClose(self):
     conn = TransactionSingleOp()
     conn.close_connection()
     conn.close_connection()
示例#30
0
#        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)
示例#31
0
#        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)
示例#32
0
 def testTransactionSingleOp1(self):
     conn = TransactionSingleOp()
     conn.close_connection()
示例#33
0
#        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)
示例#34
0
#        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)