Example #1
0
    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''')
Example #2
0
    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'''
        )
Example #3
0
    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')
Example #4
0
 def encode_datapath(datapath):
     return [ atencode(step) for step in datapath ]
Example #5
0
 def encoded_summary_type(self):
     return atencode(self.summary_type)
Example #6
0
 def encoded_ifDescr(self):
     return atencode(self.ifDescr)
Example #7
0
 def encoded_event_type(self):
     return atencode(self.event_type)
Example #8
0
 def encode_datapath(datapath):
     return [atencode(step) for step in datapath]
Example #9
0
 def encoded_summary_type(self):
     return atencode(self.summary_type)
Example #10
0
 def encoded_event_type(self):
     return atencode(self.event_type)
Example #11
0
 def encoded_ifDescr(self):
     return atencode(self.ifDescr)
Example #12
0
 def encoded_ifName(self):
     return atencode(self.ifName)