def test_basics(self): from esmond.util import _atencode_safe, _atencode_unsafe self.assertEqual(atencode(_atencode_safe), _atencode_safe) self.assertEqual(atencode(_atencode_unsafe), '@20@24@26@2B@2C@2F@3A@3B@3D@3F@40@7F') self.assertEqual(atdecode(atencode(_atencode_unsafe)), _atencode_unsafe) s = ''.join([chr(x) for x in xrange(256)]) self.assertEqual(atencode(s), '@00@01@02@03@04@05@06@07@08@09@0A@0B@0C@0D@0E@0F@10@11@12@13@14@15@16@17@18@19@1A@1B@1C@1D@1E@1F@20@21@22@23@24@25@26@27@28@29@2A@2B@2C-.@2F0123456789@3A@3B@3C@3D@3E@3F@40ABCDEFGHIJKLMNOPQRSTUVWX@59Z@5B@5C@5D@5E_@60abcdefghijklmnopqrstuvwxyz@7B@7C@7D@7E@7F@80@81@82@83@84@85@86@87@88@89@8A@8B@8C@8D@8E@8F@90@91@92@93@94@95@96@97@98@99@9A@9B@9C@9D@9E@9F@A0@A1@A2@A3@A4@A5@A6@A7@A8@A9@AA@AB@AC@AD@AE@AF@B0@B1@B2@B3@B4@B5@B6@B7@B8@B9@BA@BB@BC@BD@BE@BF@C0@C1@C2@C3@C4@C5@C6@C7@C8@C9@CA@CB@CC@CD@CE@CF@D0@D1@D2@D3@D4@D5@D6@D7@D8@D9@DA@DB@DC@DD@DE@DF@E0@E1@E2@E3@E4@E5@E6@E7@E8@E9@EA@EB@EC@ED@EE@EF@F0@F1@F2@F3@F4@F5@F6@F7@F8@F9@FA@FB@FC@FD@FE@FF') self.assertEqual(atencode(s, minimal=True), '''@00@01@02@03@04@05@06@07@08@09@0A@0B@0C@0D@0E@0F@10@11@12@13@14@15@16@17@18@19@1A@1B@1C@1D@1E@1F@20!"#@24%@26'()*@2B@2C-.@2F0123456789@3A@3B<@3D>@3F@40ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@7F@80@81@82@83@84@85@86@87@88@89@8A@8B@8C@8D@8E@8F@90@91@92@93@94@95@96@97@98@99@9A@9B@9C@9D@9E@9F@A0@A1@A2@A3@A4@A5@A6@A7@A8@A9@AA@AB@AC@AD@AE@AF@B0@B1@B2@B3@B4@B5@B6@B7@B8@B9@BA@BB@BC@BD@BE@BF@C0@C1@C2@C3@C4@C5@C6@C7@C8@C9@CA@CB@CC@CD@CE@CF@D0@D1@D2@D3@D4@D5@D6@D7@D8@D9@DA@DB@DC@DD@DE@DF@E0@E1@E2@E3@E4@E5@E6@E7@E8@E9@EA@EB@EC@ED@EE@EF@F0@F1@F2@F3@F4@F5@F6@F7@F8@F9@FA@FB@FC@FD@FE@FF''')
def test_basics(self): from esmond.util import _atencode_safe, _atencode_unsafe self.assertEqual(atencode(_atencode_safe), _atencode_safe) self.assertEqual(atencode(_atencode_unsafe), '@20@24@26@2B@2C@2F@3A@3B@3D@3F@40@7F') self.assertEqual(atdecode(atencode(_atencode_unsafe)), _atencode_unsafe) s = ''.join([chr(x) for x in xrange(256)]) self.assertEqual( atencode(s), '@00@01@02@03@04@05@06@07@08@09@0A@0B@0C@0D@0E@0F@10@11@12@13@14@15@16@17@18@19@1A@1B@1C@1D@1E@1F@20@21@22@23@24@25@26@27@28@29@2A@2B@2C-.@2F0123456789@3A@3B@3C@3D@3E@3F@40ABCDEFGHIJKLMNOPQRSTUVWX@59Z@5B@5C@5D@5E_@60abcdefghijklmnopqrstuvwxyz@7B@7C@7D@7E@7F@80@81@82@83@84@85@86@87@88@89@8A@8B@8C@8D@8E@8F@90@91@92@93@94@95@96@97@98@99@9A@9B@9C@9D@9E@9F@A0@A1@A2@A3@A4@A5@A6@A7@A8@A9@AA@AB@AC@AD@AE@AF@B0@B1@B2@B3@B4@B5@B6@B7@B8@B9@BA@BB@BC@BD@BE@BF@C0@C1@C2@C3@C4@C5@C6@C7@C8@C9@CA@CB@CC@CD@CE@CF@D0@D1@D2@D3@D4@D5@D6@D7@D8@D9@DA@DB@DC@DD@DE@DF@E0@E1@E2@E3@E4@E5@E6@E7@E8@E9@EA@EB@EC@ED@EE@EF@F0@F1@F2@F3@F4@F5@F6@F7@F8@F9@FA@FB@FC@FD@FE@FF' ) self.assertEqual( atencode(s, minimal=True), '''@00@01@02@03@04@05@06@07@08@09@0A@0B@0C@0D@0E@0F@10@11@12@13@14@15@16@17@18@19@1A@1B@1C@1D@1E@1F@20!"#@24%@26'()*@2B@2C-.@2F0123456789@3A@3B<@3D>@3F@40ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~@7F@80@81@82@83@84@85@86@87@88@89@8A@8B@8C@8D@8E@8F@90@91@92@93@94@95@96@97@98@99@9A@9B@9C@9D@9E@9F@A0@A1@A2@A3@A4@A5@A6@A7@A8@A9@AA@AB@AC@AD@AE@AF@B0@B1@B2@B3@B4@B5@B6@B7@B8@B9@BA@BB@BC@BD@BE@BF@C0@C1@C2@C3@C4@C5@C6@C7@C8@C9@CA@CB@CC@CD@CE@CF@D0@D1@D2@D3@D4@D5@D6@D7@D8@D9@DA@DB@DC@DD@DE@DF@E0@E1@E2@E3@E4@E5@E6@E7@E8@E9@EA@EB@EC@ED@EE@EF@F0@F1@F2@F3@F4@F5@F6@F7@F8@F9@FA@FB@FC@FD@FE@FF''' )
def test_timeseries_post_and_read(self): """/timeseries rest test for raw/base rate writes and reads - does not use the canned test data.""" interface_name = 'interface_test/0/0.0' authn = self.create_apikey(self.td.user_admin.username, self.td.user_admin_apikey.key) # raw data writes url = '/v1/timeseries/RawData/rtr_test/FastPollHC/ifHCInOctets/{0}/30000'.format(atencode(interface_name)) params = { 'ts': int(time.time()) * 1000, 'val': 1000 } # Params sent as json list and not post vars now. payload = [ params ] response = self.api_client.post(url, data=payload, format='json', authentication=authn) self.assertEquals(response.status_code, 201) # not 200! response = self.client.get(url, authentication=authn) self.assertEquals(response.status_code, 200) data = json.loads(response.content) self.assertEquals(data['agg'], '30000') self.assertEquals(data['resource_uri'], url) # Check last value in case the db has not been wiped by a # full data load. self.assertEquals(data['data'][-1][0], params['ts']) self.assertEquals(data['data'][-1][1], float(params['val'])) self.assertEquals(data['cf'], 'raw') # base rate write url = '/v1/timeseries/BaseRate/rtr_test/FastPollHC/ifHCInOctets/{0}/30000'.format(atencode(interface_name)) response = self.api_client.post(url, data=payload, format='json', authentication=authn) self.assertEquals(response.status_code, 201) # not 200! response = self.client.get(url, authentication=authn) self.assertEquals(response.status_code, 200) data = json.loads(response.content) self.assertEquals(data['agg'], '30000') self.assertEquals(data['resource_uri'], url) # Check last value in case the db has not been wiped by a # full data load. self.assertEquals(data['data'][-1][0], params['ts']) # Base rate read will return the delta divided by the frequency, # not just the value inserted! self.assertEquals(data['data'][-1][1], float(params['val'])/30) self.assertEquals(data['cf'], 'average')
def encode_datapath(datapath): return [ atencode(step) for step in datapath ]
def encoded_summary_type(self): return atencode(self.summary_type)
def encoded_ifDescr(self): return atencode(self.ifDescr)
def encoded_event_type(self): return atencode(self.event_type)
def encode_datapath(datapath): return [atencode(step) for step in datapath]
def encoded_ifName(self): return atencode(self.ifName)