Beispiel #1
0
 def test__bag(self):
     input = "|{_|(_C79C543|,_I9709|,_Crichard keith|)_|,_|(_C79C543|,_I97091|,_Cmicrosoft works|)_|,_|(_C79C543|,_I970|,_Csearch engines|)_|}_"
     expected_output = [ [ ("79C543", 9709, "richard keith"),
                           ("79C543", 97091, "microsoft works"),
                           ("79C543", 970, "search engines") ] ]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #2
0
 def test__bag(self):
     input = "|{_|(_C79C543|,_I9709|,_Crichard keith|)_|,_|(_C79C543|,_I97091|,_Cmicrosoft works|)_|,_|(_C79C543|,_I970|,_Csearch engines|)_|}_"
     expected_output = [[("79C543", 9709, "richard keith"),
                         ("79C543", 97091, "microsoft works"),
                         ("79C543", 970, "search engines")]]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #3
0
 def test__two_elements_bags(self):
     input = "|{_|(_C79C543|,_D97091608|,_Crichard keith frazine|)_|,_|(_C79C543|,_D97091609|,_Cmicrosoft works|)_|}_|\t_|{_|(_C79C543|,_D97091608|)_|,_|(_C79C543|,_D9709160|)_|}_"
     expected_output =  [[("79C543",float(97091608),"richard keith frazine"),
                          ("79C543", float(97091609), "microsoft works") ],
                         [("79C543", float(97091608)),
                          ("79C543", float(9709160))]]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #4
0
 def test__atomic_mixed_with_complex(self):
     input = "|{_|(_C79C543|,_L970916083725|,_Crichard keith frazine|)_|,_|(_C79C543|,_L970916095254|,_Cmicrosoft works|)_|}_|\t_I323|\t_|{_|(_C79C543|,_L970916083725|,_Crichard keith frazine|)_|,_|(_C79C543|,_L970916095254|,_Cmicrosoft works|)_|}_"
     expected_output = [[("79C543", 970916083725, "richard keith frazine"),
                         ("79C543", 970916095254, "microsoft works")], 323,
                        [("79C543", 970916083725, "richard keith frazine"),
                         ("79C543", 970916095254, "microsoft works")]]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #5
0
 def test__atomic_mixed_with_complex(self):
     input = "|{_|(_C79C543|,_L970916083725|,_Crichard keith frazine|)_|,_|(_C79C543|,_L970916095254|,_Cmicrosoft works|)_|}_|\t_I323|\t_|{_|(_C79C543|,_L970916083725|,_Crichard keith frazine|)_|,_|(_C79C543|,_L970916095254|,_Cmicrosoft works|)_|}_"
     expected_output = [ [ ("79C543", 970916083725, "richard keith frazine"),
                           ("79C543", 970916095254, "microsoft works") ],
                         323,
                         [ ("79C543", 970916083725, "richard keith frazine"),
                           ("79C543", 970916095254, "microsoft works") ] ]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #6
0
 def test__two_elements_bags(self):
     input = "|{_|(_C79C543|,_D97091608|,_Crichard keith frazine|)_|,_|(_C79C543|,_D97091609|,_Cmicrosoft works|)_|}_|\t_|{_|(_C79C543|,_D97091608|)_|,_|(_C79C543|,_D9709160|)_|}_"
     expected_output = [[("79C543", float(97091608),
                          "richard keith frazine"),
                         ("79C543", float(97091609), "microsoft works")],
                        [("79C543", float(97091608)),
                         ("79C543", float(9709160))]]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #7
0
    def test__datetime_datetime(self):
        controller.USE_DATEUTIL = False

        input = "T2008-09-03T20:56:36.444+00:00"
        expected_output = [ datetime(2008, 9, 3, 20, 56, 36, 444000) ]
        out = controller.deserialize_input(input)
        self.assertEquals(expected_output, out)

        controller.USE_DATEUTIL = True
Beispiel #8
0
    def test__datetime_datetime(self):
        controller.USE_DATEUTIL = False

        input = "T2008-09-03T20:56:36.444+00:00"
        expected_output = [datetime(2008, 9, 3, 20, 56, 36, 444000)]
        out = controller.deserialize_input(input)
        self.assertEquals(expected_output, out)

        controller.USE_DATEUTIL = True
Beispiel #9
0
 def test__complex_map(self):
     input = "|[_CD#|[_CA#I1|,_CB#CE|]_|,_CC#CF|]_"
     expected_output = [ { u"D": { u"A": 1,
                                  u"B": u"E"
                                },
                           u"C": u"F"
                         } ]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #10
0
 def test__datetime_dateutil(self):
     controller.USE_DATEUTIL = True
     try:
         from dateutil.tz import *
         from dateutil import parser
         input = "T2008-09-03T20:56:35.450+00:00"
         expected_output = [ datetime(2008, 9, 3, 20, 56, 35, 450000, tzinfo=tzutc()) ]
         out = controller.deserialize_input(input)
         self.assertEquals(expected_output, out)
     except ImportError:
         pass
Beispiel #11
0
 def test__datetime_dateutil(self):
     controller.USE_DATEUTIL = True
     try:
         from dateutil.tz import *
         from dateutil import parser
         input = "T2008-09-03T20:56:35.450+00:00"
         expected_output = [
             datetime(2008, 9, 3, 20, 56, 35, 450000, tzinfo=tzutc())
         ]
         out = controller.deserialize_input(input)
         self.assertEquals(expected_output, out)
     except ImportError:
         pass
Beispiel #12
0
 def test__error(self):
     self.maxDiff = None
     input = "|[_Cspec#|{_|(_|[_Croles#|{_|(_Chadoop-namenode|)_|,_|(_Chadoop-jobtracker|)_|,_|(_Cpig-master|)_|}_|,_Cnum_instances#I1|]_|)_|,_|(_|[_Croles#|{_|(_Chadoop-datanode|)_|,_|(_Chadoop-tasktracker|)_|}_|,_Cnum_instances#I1|]_|)_|}_|,_Chardware#Cm1.large|,_Caccount_id#I1234567|,_Clocation#Cus-east-1b|,_Cstatus#Cdestroyed|,_Cimage#Cus-east-1/ami-1234|,_Cjclouds_name#Cmhcdevelopment_1234|,_Cinstances#|{_|(_|[_Cprivate_address#C10.10.10.10|,_Croles#|{_|(_Chadoop-datanode|)_|,_|(_Chadoop-tasktracker|)_|}_|,_Cpublic_address#Cec2-10-10-10-10.compute-1.amazonaws.com|,_Cinstance_id#Cus-east-1/i-1234|]_|)_|,_|(_|[_Cprivate_address#C10.10.10.10|,_Croles#|{_|(_Chadoop-namenode|)_|,_|(_Chadoop-jobtracker|)_|,_|(_Cpig-master|)_|}_|,_Cpublic_address#Cec2-10-10-10-10.compute-1.amazonaws.com|,_Cinstance_id#Cus-east-1/i-4321|]_|)_|}_|,_Cstop_timestamp#|-_|,_Cplan_code#Cstandard|,_C_id#I1234567890|,_Crunning_timestamp#|-_|,_Cuser_id#I1234|,_Cstart_timestamp#CTue Oct 25 19:26:18 UTC 2011|]_"
     expected_output = [ {u'status': u'destroyed',
                          u'start_timestamp': u'Tue Oct 25 19:26:18 UTC 2011',
                          u'user_id': 1234,
                          u'account_id': 1234567,
                          u'running_timestamp': None,
                          u'image': u'us-east-1/ami-1234',
                          u'hardware': u'm1.large',
                          u'instances': [ ( { u'private_address':u'10.10.10.10',
                                              u'roles' : [ ( u'hadoop-datanode', ),
                                                           ( u'hadoop-tasktracker',) ],
                                              u'public_address':u'ec2-10-10-10-10.compute-1.amazonaws.com',
                                              u'instance_id':u'us-east-1/i-1234'
                                            },
                                          ),
                                          ( {
                                              u'private_address':u'10.10.10.10',
                                              u'roles' : [ ( u'hadoop-namenode', ),
                                                           ( u'hadoop-jobtracker', ),
                                                           ( u'pig-master', ) ],
                                              u'public_address' : u'ec2-10-10-10-10.compute-1.amazonaws.com',
                                              u'instance_id' : u'us-east-1/i-4321'
                                            },
                                          )
                                        ],
                          u'plan_code': u'standard',
                          u'location': u'us-east-1b',
                          u'_id': 1234567890,
                          u'spec': [ ( { u'roles' : [ (u'hadoop-namenode', ),
                                                      (u'hadoop-jobtracker', ),
                                                      (u'pig-master', ) ],
                                         u'num_instances' : 1,
                                       },
                                     ),
                                     ( { u'roles' : [ (u'hadoop-datanode',),
                                                      (u'hadoop-tasktracker',) ],
                                         u'num_instances' : 1,
                                       },
                                     )
                                   ],
                          u'jclouds_name': u'mhcdevelopment_1234',
                          u'stop_timestamp': None}]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #13
0
 def test__string_with_hash(self):
     input = "Cabc#!,|g|,(){}"
     expected_output = [ "abc#!,|g|,(){}" ]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #14
0
 def test__map(self):
     input = "|[_Cname#CJohn|,_Cext#I5555|]_"
     expected_output = [ {"name":u"John",
                          "ext":5555} ]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #15
0
 def test__short_field_map(self):
     input = "|[_Cn#CJohn|,_Ce#C5555|]_"
     expected_output = [ {"n":u"John",
                          "e":u"5555"} ]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #16
0
 def test__short_tuple(self):
     input = "|(_I1|)_"
     expected_output = [ (1,) ]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #17
0
 def test__nested_tuple(self):
     input = "|(_|(_I123|,_Cabc|)_|,_|(_Cdef|,_I456|)_|)_"
     expected_output = [ ( (123, "abc"), ("def", 456) ) ]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #18
0
 def test__two_elements(self):
     input = "C032550737A79C543|\t_I970916083725"
     expected_output = [ "032550737A79C543", 970916083725 ]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #19
0
 def test__error(self):
     self.maxDiff = None
     input = "|[_Cspec#|{_|(_|[_Croles#|{_|(_Chadoop-namenode|)_|,_|(_Chadoop-jobtracker|)_|,_|(_Cpig-master|)_|}_|,_Cnum_instances#I1|]_|)_|,_|(_|[_Croles#|{_|(_Chadoop-datanode|)_|,_|(_Chadoop-tasktracker|)_|}_|,_Cnum_instances#I1|]_|)_|}_|,_Chardware#Cm1.large|,_Caccount_id#I1234567|,_Clocation#Cus-east-1b|,_Cstatus#Cdestroyed|,_Cimage#Cus-east-1/ami-1234|,_Cjclouds_name#Cmhcdevelopment_1234|,_Cinstances#|{_|(_|[_Cprivate_address#C10.10.10.10|,_Croles#|{_|(_Chadoop-datanode|)_|,_|(_Chadoop-tasktracker|)_|}_|,_Cpublic_address#Cec2-10-10-10-10.compute-1.amazonaws.com|,_Cinstance_id#Cus-east-1/i-1234|]_|)_|,_|(_|[_Cprivate_address#C10.10.10.10|,_Croles#|{_|(_Chadoop-namenode|)_|,_|(_Chadoop-jobtracker|)_|,_|(_Cpig-master|)_|}_|,_Cpublic_address#Cec2-10-10-10-10.compute-1.amazonaws.com|,_Cinstance_id#Cus-east-1/i-4321|]_|)_|}_|,_Cstop_timestamp#|-_|,_Cplan_code#Cstandard|,_C_id#I1234567890|,_Crunning_timestamp#|-_|,_Cuser_id#I1234|,_Cstart_timestamp#CTue Oct 25 19:26:18 UTC 2011|]_"
     expected_output = [{
         u'status':
         u'destroyed',
         u'start_timestamp':
         u'Tue Oct 25 19:26:18 UTC 2011',
         u'user_id':
         1234,
         u'account_id':
         1234567,
         u'running_timestamp':
         None,
         u'image':
         u'us-east-1/ami-1234',
         u'hardware':
         u'm1.large',
         u'instances': [({
             u'private_address':
             u'10.10.10.10',
             u'roles': [(u'hadoop-datanode', ), (u'hadoop-tasktracker', )],
             u'public_address':
             u'ec2-10-10-10-10.compute-1.amazonaws.com',
             u'instance_id':
             u'us-east-1/i-1234'
         }, ),
                        ({
                            u'private_address':
                            u'10.10.10.10',
                            u'roles': [(u'hadoop-namenode', ),
                                       (u'hadoop-jobtracker', ),
                                       (u'pig-master', )],
                            u'public_address':
                            u'ec2-10-10-10-10.compute-1.amazonaws.com',
                            u'instance_id':
                            u'us-east-1/i-4321'
                        }, )],
         u'plan_code':
         u'standard',
         u'location':
         u'us-east-1b',
         u'_id':
         1234567890,
         u'spec': [({
             u'roles': [(u'hadoop-namenode', ), (u'hadoop-jobtracker', ),
                        (u'pig-master', )],
             u'num_instances':
             1,
         }, ),
                   ({
                       u'roles': [(u'hadoop-datanode', ),
                                  (u'hadoop-tasktracker', )],
                       u'num_instances':
                       1,
                   }, )],
         u'jclouds_name':
         u'mhcdevelopment_1234',
         u'stop_timestamp':
         None
     }]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #20
0
 def test__string_with_hash(self):
     input = "Cabc#!,|g|,(){}"
     expected_output = ["abc#!,|g|,(){}"]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #21
0
 def test__null_chararray(self):
     input = "|-_"
     expected_output = [None]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #22
0
 def test__all_types(self):
     input = "A123|\t_Btrue|\t_Cabc|\t_D4.0|\t_F5.0|\t_I32|\t_L45"
     expected_output = [ b"123", True, u"abc", 4.0, 5.0, 32, 45L ]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #23
0
 def test__complex_map(self):
     input = "|[_CD#|[_CA#I1|,_CB#CE|]_|,_CC#CF|]_"
     expected_output = [{u"D": {u"A": 1, u"B": u"E"}, u"C": u"F"}]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #24
0
 def test__three_elements_one_null(self):
     input = "C032550737A79C543|\t_I970916083725|\t_|-_"
     expected_output = ["032550737A79C543", 970916083725, None]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #25
0
 def test__two_elements(self):
     input = "C032550737A79C543|\t_I970916083725"
     expected_output = ["032550737A79C543", 970916083725]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #26
0
 def test__boolean(self):
     input = "Btrue"
     expected_output = [True]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #27
0
 def test__null_chararray(self):
     input = "|-_"
     expected_output = [None]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #28
0
 def test__empty_chararray(self):
     input = "C"
     expected_output = [""]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #29
0
 def test__empty_chararray(self):
     input = "C"
     expected_output = [""]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #30
0
 def test__no_params(self):
     input = ""
     expected_output = []
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #31
0
 def test__boolean(self):
     input = "Btrue"
     expected_output = [True]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #32
0
 def test__short_field_map(self):
     input = "|[_Cn#CJohn|,_Ce#C5555|]_"
     expected_output = [{"n": u"John", "e": u"5555"}]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #33
0
 def test__map(self):
     input = "|[_Cname#CJohn|,_Cext#I5555|]_"
     expected_output = [{"name": u"John", "ext": 5555}]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #34
0
 def test__nested_tuple(self):
     input = "|(_|(_I123|,_Cabc|)_|,_|(_Cdef|,_I456|)_|)_"
     expected_output = [((123, "abc"), ("def", 456))]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #35
0
 def test__three_elements_one_null(self):
     input = "C032550737A79C543|\t_I970916083725|\t_|-_"
     expected_output = [ "032550737A79C543", 970916083725, None ]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #36
0
 def test__all_types(self):
     input = "A123|\t_Btrue|\t_Cabc|\t_D4.0|\t_F5.0|\t_I32|\t_L45"
     expected_output = [b"123", True, u"abc", 4.0, 5.0, 32, 45L]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #37
0
 def test__no_params(self):
     input = ""
     expected_output = []
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
 def test__long(self):
     input = "L970916083725"
     expected_output = [970916083725L]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
 def test__empty_long(self):
     input = "L"
     expected_output = [None]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)
Beispiel #40
0
 def test__short_tuple(self):
     input = "|(_I1|)_"
     expected_output = [(1, )]
     out = controller.deserialize_input(input)
     self.assertEquals(expected_output, out)