def testBlankParams(self): # This test tests the scenario when Bob enters invalid Number of Days and an invalid Date date = startDate[7] days = numOfDays[7] r = getReq(date, days) try: print("Expected Response Code = 400", " Actual Response Code = ", r.status_code,'\n') self.assertEqual(r.status_code, 400) except: print('Failed. Response Code is not 400')
def testInvalidDays(self): # This test tests the scenario when Bob enters a string as Number of Days date = startDate[4] days = numOfDays[4] r = getReq(date, days) try: print("Expected Response Code = 400"," Actual Response Code = ",r.status_code,'\n') self.assertEqual(r.status_code, 400) except: print('Failed. Response Code is not 400') exit(1)
def testDayOutOfRange(self): # This test tests the scenario when Bob enters Number of Days > 365 date = startDate[5] days = numOfDays[5] r = getReq(date, days) try: self.assertEqual(r.status_code, 200) except: print('Failed. Response Code is not 200') #exit(1) actualCost = float(r.json()['totalCost'].replace('$','')) expectedCost = calculateBudget(date, days) print('Total Cost returned by API',actualCost,' Expected Total Cost',expectedCost,'\n') self.assertEqual(actualCost,expectedCost)
def testLeapYear(self): # This test makes sure Bob get the correct response when start date is Feb 28 in a leap year date = startDate[3] days = numOfDays[3] r = getReq(date, days) try: self.assertEqual(r.status_code, 200) except: print('Failed to Connect. Response Code is not 200') exit(1) actualCost = float(r.json()['totalCost'].replace('$','')) expectedCost = calculateBudget(date, days) print('Total Cost returned by API',actualCost,' Expected Total Cost',expectedCost,'\n') self.assertEqual(actualCost,expectedCost)
def testTwoMonths(self): # This test makes sure Bob get the correct response when date range covers a period of 61 days date = startDate[2] days = numOfDays[2] r = getReq(date, days) try: self.assertEqual(r.status_code, 200) except: print('Failed to Connect. Response Code is not 200') exit(1) actualCost = float(r.json()['totalCost'].replace('$','')) expectedCost = calculateBudget(date, days) print('Total Cost returned by API',actualCost,' Expected Total Cost.',expectedCost,'\n') self.assertEqual(actualCost,expectedCost)
def testValidScenario(self): # This test makes sure Bob get the correct response when start date is on weekend date = startDate[1] days = numOfDays[1] r = getReq(date,days) try: self.assertEqual(r.status_code,200) # self.assertRaises(Exception) as context: broken_function() except: print('Failed to Connect. Response Code is not 200') exit(1) actualCost = float(r.json()['totalCost'].replace('$','')) expectedCost = calculateBudget(date, days) print('Total Cost returned by API',actualCost,' Expected Total Cost',expectedCost,'\n') self.assertEqual(actualCost,expectedCost)