github.com/n00py/Slackor@v0.0.0-20200610224921-d007fcea1740/impacket/tests/dot11/test_Dot11Base.py (about)

     1  #!/usr/bin/env python
     2  # sorry, this is very ugly, but I'm in python 2.5
     3  import sys
     4  sys.path.insert(0,"../..")
     5  
     6  from impacket.dot11 import Dot11, Dot11Types
     7  import unittest
     8  
     9  class TestDot11Common(unittest.TestCase):
    10  
    11      def setUp(self):
    12          # Frame control field 
    13          a=b'\xd4\x00\x00\x00\x00\x08\x54\xac\x2f\x85\xb7\x7f\xc3\x9e'
    14          self.dot11fc=Dot11(a)
    15          
    16      def test_01_HeaderSize(self):
    17          'Test Header Size field'
    18          self.assertEqual(self.dot11fc.get_header_size(), 2)
    19  
    20      def test_01_TailSize(self):
    21          'Test Tail Size field'
    22          self.assertEqual(self.dot11fc.get_tail_size(), 4)
    23    
    24      def test_02_Version(self):
    25          'Test Version field'
    26          self.assertEqual(self.dot11fc.get_version(), 0)
    27          self.dot11fc.set_version(3)
    28          self.assertEqual(self.dot11fc.get_version(), 3)
    29  
    30      def test_03_Type(self):
    31          'Test Type field'
    32          self.assertEqual(self.dot11fc.get_type(), 1)
    33          self.dot11fc.set_type(3)
    34          self.assertEqual(self.dot11fc.get_type(), 3)
    35      
    36      def test_04_SubType(self):
    37          'Test Subtype field'
    38          self.assertEqual(self.dot11fc.get_subtype(),13)
    39          self.dot11fc.set_subtype(5)
    40          self.assertEqual(self.dot11fc.get_subtype(),5)
    41          
    42      def test_05_ToDS(self):
    43          'Test toDS field'
    44          self.assertEqual(self.dot11fc.get_toDS(),0)
    45          self.dot11fc.set_toDS(1)
    46          self.assertEqual(self.dot11fc.get_toDS(),1)
    47  
    48      def test_06_FromDS(self):
    49          'Test fromDS field'
    50          self.assertEqual(self.dot11fc.get_fromDS(),0)
    51          self.dot11fc.set_fromDS(1)
    52          self.assertEqual(self.dot11fc.get_fromDS(),1)
    53  
    54      def test_07_MoreFrag(self):
    55          'Test More Frag field'
    56          self.assertEqual(self.dot11fc.get_moreFrag(),0)
    57          self.dot11fc.set_moreFrag(1)
    58          self.assertEqual(self.dot11fc.get_moreFrag(),1)
    59  
    60      def test_08_Retry(self):
    61          'Test Retry field'
    62          self.assertEqual(self.dot11fc.get_retry(),0)
    63          self.dot11fc.set_retry(1)
    64          self.assertEqual(self.dot11fc.get_retry(),1)
    65  
    66      def test_09_PowerManagement(self):
    67          'Test Power Management field'
    68          self.assertEqual(self.dot11fc.get_powerManagement(),0)
    69          self.dot11fc.set_powerManagement(1)
    70          self.assertEqual(self.dot11fc.get_powerManagement(),1)
    71  
    72      def test_10_MoreData(self):
    73          'Test More Data field'
    74          self.assertEqual(self.dot11fc.get_moreData(),0)
    75          self.dot11fc.set_moreData(1)
    76          self.assertEqual(self.dot11fc.get_moreData(),1)
    77  
    78  #   def test_11_WEP(self):
    79  #       'Test WEP field'
    80  #       self.assertEqual(self.dot11fc.get_WEP(),0)
    81  #       self.dot11fc.set_WEP(1)
    82  #       self.assertEqual(self.dot11fc.get_WEP(),1)
    83          
    84          
    85      def test_12_Order(self):
    86          'Test Order field'
    87          self.assertEqual(self.dot11fc.get_order(),0)
    88          self.dot11fc.set_order(1)
    89          self.assertEqual(self.dot11fc.get_order(),1)
    90  
    91      def test_13_latest(self):
    92          'Test complete frame hexs'
    93          self.dot11fc.set_type_n_subtype(Dot11Types.DOT11_TYPE_CONTROL_SUBTYPE_POWERSAVE_POLL)
    94          self.dot11fc.set_order(1)
    95          self.dot11fc.set_moreData(1)
    96          self.dot11fc.set_retry(1)
    97          self.dot11fc.set_fromDS(1)
    98          
    99          frame=self.dot11fc.get_packet()
   100          
   101          self.assertEqual(frame, b'\xa4\xaa\x00\x00\x00\x08\x54\xac\x2f\x85\xb7\x7f\xc3\x9e')
   102      
   103  
   104  suite = unittest.TestLoader().loadTestsFromTestCase(TestDot11Common)
   105  unittest.TextTestRunner(verbosity=1).run(suite)