def test_parse_rfc3339(self):
     tests = {
         '1980-01-05': '1980-01-05',
         '1985-02-06T01:01:01+01:00': '1985-02-06',
         '1990-03-07t02:02:02-09:00': '1990-03-07',
         '1999-04-08T03:03:03-00:00': '1999-04-08',
         '2000-05-09t04:04:04Z': '2000-05-09',
         '2100-06-10T05:05:05Z': '2100-06-10',
         '1900-07-02T06:06:06Z': '1900-07-02',
         '1970-08-01T07:07:07Z': '1970-08-01',
         '2011-09-09T08:08:08Z': '2011-09-09',
         '2000-10-10T09:09:09Z': '2000-10-10',
         '2015-11-22T10:10:10Z': '2015-11-22',
         '2130-12-31T11:11:11Z': '2130-12-31',
     }
     for src, check in tests.items():
         self.assertEqual(AWS4Auth.parse_date(src), check)
 def test_parse_amzdate(self):
     tests = {
         '19800105T010101Z': '1980-01-05',
         '19850206T010101Z': '1985-02-06',
         '19900307T010101Z': '1990-03-07',
         '19990408T010101Z': '1999-04-08',
         '20000509T010101Z': '2000-05-09',
         '21000610T010101Z': '2100-06-10',
         '19000702T101112Z': '1900-07-02',
         '19700801T000000Z': '1970-08-01',
         '20110909T233600Z': '2011-09-09',
         '20001010T010101Z': '2000-10-10',
         '20151122T194301Z': '2015-11-22',
         '21301231T000000Z': '2130-12-31',
     }
     for src, check in tests.items():
         self.assertEqual(AWS4Auth.parse_date(src), check)
 def test_parse_rfc850(self):
     tests = {
         'Sunday, 05-Jan-80 01:01:01 GMT': '2080-01-05',
         'Monday, 06-Feb-85 01:01:01 EST': '2085-02-06',
         'Tuesday, 07-Mar-90 01:01:01 BST': '2090-03-07',
         'Wednesday, 08-Apr-99 01:01:01 GMT': '2099-04-08',
         'Thursday, 09-May-00 01:01:01 GMT': '2000-05-09',
         'Friday, 10-Jun-00 01:01:01 GMT': '2000-06-10',
         'Saturday, 02-Jul-00 10:11:12 GMT': '2000-07-02',
         'Sunday, 01-Aug-70 00:00:00 GMT': '2070-08-01',
         'Monday, 09-Sep-11 23:36:00 GMT': '2011-09-09',
         'Tuesday, 10-Oct-00 01:01:01 GMT': '2000-10-10',
         'Wednesday, 22-Nov-15 19:43:01 GMT': '2015-11-22',
         'Thursday, 31-Dec-30 00:00:00 GMT': '2030-12-31',
     }
     for src, check in tests.items():
         self.assertEqual(AWS4Auth.parse_date(src), check)
 def test_parse_ctime(self):
     tests = {
         'Sun Jan 5 01:01:01 1980': '1980-01-05',
         'Mon Feb 6 01:01:01 1985': '1985-02-06',
         'Tue Mar 7 01:01:01 1990': '1990-03-07',
         'Wed Apr 8 01:01:01 1999': '1999-04-08',
         'Thu May 9 01:01:01 2000': '2000-05-09',
         'Fri Jun 10 01:01:01 2100': '2100-06-10',
         'Sat Jul 2 10:11:12 1900': '1900-07-02',
         'Sun Aug 1 00:00:00 1970': '1970-08-01',
         'Mon Sep 9 23:36:00 2011': '2011-09-09',
         'Tue Oct 10 01:01:01 2000': '2000-10-10',
         'Wed Nov 22 19:43:01 2015': '2015-11-22',
         'Thu Dec 31 00:00:00 2130': '2130-12-31',
     }
     for src, check in tests.items():
         self.assertEqual(AWS4Auth.parse_date(src), check)
 def test_parse_rfc7231(self):
     tests = {
         'Sun, 05 Jan 1980 01:01:01 GMT': '1980-01-05',
         'Mon, 06 Feb 1985 01:01:01 GMT': '1985-02-06',
         'Tue, 07 Mar 1990 01:01:01 GMT': '1990-03-07',
         'Wed, 08 Apr 1999 01:01:01 GMT': '1999-04-08',
         'Thu, 09 May 2000 01:01:01 GMT': '2000-05-09',
         'Fri, 10 Jun 2100 01:01:01 GMT': '2100-06-10',
         'Sat, 02 Jul 1900 10:11:12 GMT': '1900-07-02',
         'Sun, 01 Aug 1970 00:00:00 GMT': '1970-08-01',
         'Mon, 09 Sep 2011 23:36:00 GMT': '2011-09-09',
         'Tue, 10 Oct 2000 01:01:01 GMT': '2000-10-10',
         'Wed, 22 Nov 2015 19:43:01 GMT': '2015-11-22',
         'Thu, 31 Dec 2130 00:00:00 GMT': '2130-12-31',
     }
     for src, check in tests.items():
         self.assertEqual(AWS4Auth.parse_date(src), check)