Exemple #1
0
 def test_house_code_input(self):
     response = self.client.post('/api/valve/')
     response = json.loads(response.content)
     errors = response['errors']
     self.assertIn(HOUSE_CODE_NOT_FOUND_MSG.format(''), errors)
     self.assertEqual(response['status'], INVALID_INPUT_STATUS)
     response = self.client.post('/api/valve/HOUSECODE')
     response = json.loads(response.content)
     errors = response['errors']
     self.assertIn(HOUSE_CODE_NOT_FOUND_MSG.format('HOUSECODE'), errors)
     self.assertEqual(response['status'], INVALID_INPUT_STATUS)
Exemple #2
0
 def test_house_code_input(self):
     response = self.client.post('/api/valve/')
     response = json.loads(response.content)
     errors = response['errors']
     self.assertIn(HOUSE_CODE_NOT_FOUND_MSG.format(''), errors)
     self.assertEqual(response['status'], INVALID_INPUT_STATUS)
     response = self.client.post('/api/valve/HOUSECODE')
     response = json.loads(response.content)
     errors = response['errors']
     self.assertIn(HOUSE_CODE_NOT_FOUND_MSG.format('HOUSECODE'), errors)
     self.assertEqual(response['status'], INVALID_INPUT_STATUS)
Exemple #3
0
def valve_view(request, house_code):

    response = {'status': 200, 'content': None}
    errors = []
    data = request.POST
    min_temp = None

    try:
        house_code = HouseCode.objects.get(code=house_code)
    except HouseCode.DoesNotExist as e:
        response['status'] = INVALID_INPUT_STATUS
        response['errors'] = [HOUSE_CODE_NOT_FOUND_MSG.format(house_code)]
        return JsonResponse(response)

    try:
        open_input = data['open']
        open_input = int(open_input)
        if open_input < 0 or open_input > 100:
            raise ValueError()
        rev2.rev2_interface.open_valve(house_code=house_code,
                                       rad_open_percent=open_input)
    except ValueError:
        errors.append(
            'Invalid input for parameter: open. Received: {}, expected: 0-100'.
            format(open_input))
        response['status'] = INVALID_INPUT_STATUS
    except MultiValueDictKeyError:
        errors.append('Required input parameter: open')
        response['status'] = INVALID_INPUT_STATUS

    if len(errors):
        response['errors'] = errors

    response = json.dumps(response)
    return HttpResponse(response, content_type='application/json')
Exemple #4
0
def valve_view(request, house_code):
    
    response = {'status': 200, 'content': None}
    errors = []
    data = request.POST
    min_temp = None

    try:
        house_code = HouseCode.objects.get(code=house_code)
    except HouseCode.DoesNotExist as e:
        response['status'] = INVALID_INPUT_STATUS
        response['errors'] = [HOUSE_CODE_NOT_FOUND_MSG.format(house_code)]
        return JsonResponse(response)

    try:
        open_input = data['open']
        open_input = int(open_input)
        if open_input < 0 or open_input > 100:
            raise ValueError()
        rev2.rev2_interface.open_valve(house_code=house_code, rad_open_percent=open_input)
    except ValueError:
        errors.append('Invalid input for parameter: open. Received: {}, expected: 0-100'.format(open_input))
        response['status'] = INVALID_INPUT_STATUS
    except MultiValueDictKeyError:
        errors.append('Required input parameter: open')
        response['status'] = INVALID_INPUT_STATUS

    if len(errors):
        response['errors'] = errors

    response = json.dumps(response)
    return HttpResponse(response, content_type='application/json')
Exemple #5
0
 def test_house_code_does_not_exist(self):
     response = self.client.post('/led/house-code',
                                 data={'house-code': 'E2-E1'})
     response = json.loads(response.content)
     self.assertEqual(response['status'], INVALID_INPUT_STATUS)
     self.assertEqual(response['errors'],
                      [HOUSE_CODE_NOT_FOUND_MSG.format('E2-E1')])
Exemple #6
0
def led_view(request, house_code):
    response = {'status': 200, 'content': None}
    errors = []

    try:
        house_code = HouseCode.objects.get(code=house_code)
    except ObjectDoesNotExist:
        response['status'] = INVALID_INPUT_STATUS
        response['errors'] = [HOUSE_CODE_NOT_FOUND_MSG.format(house_code)]
        return JsonResponse(response)

    # colour
    try:
        colour = request.POST['colour']
        colour = int(colour)
        if colour not in VALID_LED_COLOURS:
            raise ValidationError('')
    except (ValidationError, ValueError) as e:
        response['status'] = INVALID_INPUT_STATUS
        errors.append(INVALID_LED_COLOUR_MSG.format(colour))
    except MultiValueDictKeyError:
        response['status'] = INVALID_INPUT_STATUS
        errors.append(MISSING_LED_COLOUR_MSG)

    # state
    try:
        state = request.POST['state']
        state = int(state)
        if state not in VALID_LED_STATES:
            raise ValidationError('')
    except (ValidationError, ValueError) as e:
        response['status'] = INVALID_INPUT_STATUS
        errors.append(INVALID_LED_STATE_MSG.format(state))
    except MultiValueDictKeyError:
        response['status'] = INVALID_INPUT_STATUS
        errors.append(MISSING_LED_STATE_MSG)

    # repeat_interval
    try:
        repeat_interval = request.POST['repeat-interval']
        repeat_interval = int(repeat_interval)
        if repeat_interval not in VALID_LED_REPEAT_INTERVALS:
            raise ValidationError('')
    except (ValidationError, ValueError) as e:
        response['status'] = INVALID_INPUT_STATUS
        errors.append(INVALID_LED_REPEAT_INTERVAL_MSG.format(repeat_interval))
    except MultiValueDictKeyError:
        response['status'] = INVALID_INPUT_STATUS
        errors.append(MISSING_LED_REPEAT_INTERVAL_MSG)

    if len(errors):
        response['errors'] = errors
    else:
        rev2.rev2_interface.set_led_settings(house_code=house_code,
                                             colour=colour,
                                             state=state,
                                             repeat_interval=repeat_interval)

    return JsonResponse(response)
Exemple #7
0
def debug_view(request, house_code):
    response = {'status': 200, 'content': None}
    try:
        house_code = HouseCode.objects.get(code=house_code)
        house_code.debug()
    except ObjectDoesNotExist:
        response['status'] = INVALID_INPUT_STATUS
        response['errors'] = [HOUSE_CODE_NOT_FOUND_MSG.format(house_code)]
    return JsonResponse(response)
Exemple #8
0
def debug_view(request, house_code):
    response = {'status': 200, 'content': None}
    try:
        house_code = HouseCode.objects.get(code=house_code)
        house_code.debug()
    except ObjectDoesNotExist:
        response['status'] = INVALID_INPUT_STATUS
        response['errors'] = [HOUSE_CODE_NOT_FOUND_MSG.format(house_code)]
    return JsonResponse(response)
Exemple #9
0
def led_view(request, house_code):
    response = {'status': 200, 'content': None}
    errors = []

    try:
        house_code = HouseCode.objects.get(code=house_code)
    except ObjectDoesNotExist:
        response['status'] = INVALID_INPUT_STATUS
        response['errors'] = [HOUSE_CODE_NOT_FOUND_MSG.format(house_code)]
        return JsonResponse(response)

    # colour
    try:
        colour = request.POST['colour']
        colour = int(colour)
        if colour not in VALID_LED_COLOURS:
            raise ValidationError('')
    except (ValidationError, ValueError) as e:
        response['status'] = INVALID_INPUT_STATUS
        errors.append(INVALID_LED_COLOUR_MSG.format(colour))
    except MultiValueDictKeyError:
        response['status'] = INVALID_INPUT_STATUS
        errors.append(MISSING_LED_COLOUR_MSG)

    # state
    try:
        state = request.POST['state']
        state = int(state)
        if state not in VALID_LED_STATES:
            raise ValidationError('')
    except (ValidationError, ValueError) as e:
        response['status'] = INVALID_INPUT_STATUS
        errors.append(INVALID_LED_STATE_MSG.format(state))
    except MultiValueDictKeyError:
        response['status'] = INVALID_INPUT_STATUS
        errors.append(MISSING_LED_STATE_MSG)
        
    # repeat_interval
    try:
        repeat_interval = request.POST['repeat-interval']
        repeat_interval = int(repeat_interval)
        if repeat_interval not in VALID_LED_REPEAT_INTERVALS:
            raise ValidationError('')
    except (ValidationError, ValueError) as e:
        response['status'] = INVALID_INPUT_STATUS
        errors.append(INVALID_LED_REPEAT_INTERVAL_MSG.format(repeat_interval))
    except MultiValueDictKeyError:
        response['status'] = INVALID_INPUT_STATUS
        errors.append(MISSING_LED_REPEAT_INTERVAL_MSG)

    if len(errors):
        response['errors'] = errors
    else:
        rev2.rev2_interface.set_led_settings(house_code=house_code, colour=colour, state=state, repeat_interval=repeat_interval)
        
    return JsonResponse(response)
Exemple #10
0
 def test_non_existant_house_code_returns_error(self):
     response = self.client.post('/api/valve/FA-32',
                                 data={
                                     'open': '50',
                                     "min_temp": '7',
                                     'max_temp': '20'
                                 })
     response = json.loads(response.content)
     self.assertEqual(response['errors'],
                      [HOUSE_CODE_NOT_FOUND_MSG.format('FA-32')])
     self.assertEqual(response['status'], INVALID_INPUT_STATUS)
Exemple #11
0
def status_view(request, house_code):
    response = {'status': 200, 'content': None}
    errors = []

    try:
        house_code = HouseCode.objects.get(code=house_code)
    except HouseCode.DoesNotExist:
        response['status'] = INVALID_INPUT_STATUS
        response['errors'] = [HOUSE_CODE_NOT_FOUND_MSG.format(house_code)]
        return JsonResponse(response)

    response['content'] = house_code.to_dict()
    
    return JsonResponse(response)
Exemple #12
0
def status_view(request, house_code):
    response = {'status': 200, 'content': None}
    errors = []

    try:
        house_code = HouseCode.objects.get(code=house_code)
    except HouseCode.DoesNotExist:
        response['status'] = INVALID_INPUT_STATUS
        response['errors'] = [HOUSE_CODE_NOT_FOUND_MSG.format(house_code)]
        return JsonResponse(response)

    response['content'] = house_code.to_dict()

    return JsonResponse(response)
Exemple #13
0
def relative_humidity_view(request):
    response = {"status": 200, "content": None}
    try:
        hc = HouseCode.objects.get(code=request.POST["house-code"])
        hc.relative_humidity = request.POST["relative-humidity"]
        try:
            hc.full_clean()
            hc.save()
        except ValidationError as e:
            response["status"] = INVALID_INPUT_STATUS
            response["errors"] = e.message_dict["relative_humidity"]
    except HouseCode.DoesNotExist:
        response["status"] = INVALID_INPUT_STATUS
        response["errors"] = [HOUSE_CODE_NOT_FOUND_MSG.format(request.POST["house-code"])]
    return JsonResponse(response)
Exemple #14
0
def temperature_ds18b20_view(request):
    response = {"status": 200, "content": None}
    try:
        hc = HouseCode.objects.get(code=request.POST["house-code"])
        if temperature_is_valid(request.POST["temperature-ds18b20"]):
            hc.temperature_ds18b20 = float(request.POST["temperature-ds18b20"])
            hc.save()
        else:
            response["status"] = INVALID_INPUT_STATUS
            response["errors"] = [
                api.models.INVALID_TEMPERATURE_DS18B20_MSG.format(request.POST["temperature-ds18b20"])
            ]
    except HouseCode.DoesNotExist:
        response["status"] = INVALID_INPUT_STATUS
        response["errors"] = [HOUSE_CODE_NOT_FOUND_MSG.format(request.POST["house-code"])]
    return JsonResponse(response)
Exemple #15
0
def relative_humidity_view(request):
    response = {'status': 200, 'content': None}
    try:
        hc = HouseCode.objects.get(code=request.POST['house-code'])
        hc.relative_humidity = request.POST['relative-humidity']
        try:
            hc.full_clean()
            hc.save()
        except ValidationError as e:
            response['status'] = INVALID_INPUT_STATUS
            response['errors'] = e.message_dict['relative_humidity']
    except HouseCode.DoesNotExist:
        response['status'] = INVALID_INPUT_STATUS
        response['errors'] = [
            HOUSE_CODE_NOT_FOUND_MSG.format(request.POST['house-code'])
        ]
    return JsonResponse(response)
Exemple #16
0
    def test_main(self):
        # user adds a house code to the database
        self.post_house_code('FA-32')

        # user reloads the api page
        self.initialise_page()
        h2 = self.section.find_element_by_tag_name('h2')
        self.assertEqual(h2.text, 'POST /api/led/<house-code>')
        # user inputs valid input
        self.house_code_input.send_keys('FA-32')
        self.colour_input.send_keys('0')
        self.state_input.send_keys('0')
        self.repeat_interval_input.send_keys('120')
        self.form.submit()
        self.assertEqual(self.browser.current_url,
                         self.server_url + '/api/led/FA-32')
        json_response = self.get_json_response()
        self.assertEqual(json_response['status'], 200)
        self.assertEqual(json_response['content'], None)

        # TODO: User needs to be able to see the result
        # Currently the LED post does not affect the cache and is just a dummy function

        # user reloads api page
        # user inputs non existent house code
        self.initialise_page()
        self.house_code_input.send_keys('FA-33')
        self.form.submit()
        json_response = self.get_json_response()
        self.assertEqual(json_response['status'], INVALID_INPUT_STATUS)
        self.assertEqual(json_response['errors'],
                         [HOUSE_CODE_NOT_FOUND_MSG.format('FA-33')])

        # user inputs empty string for the colour
        self.initialise_page()
        self.house_code_input.send_keys('FA-32')
        self.form.submit()
        json_response = self.get_json_response()
        self.assertEqual(json_response['status'], INVALID_INPUT_STATUS)
        self.assertIn(INVALID_LED_COLOUR_MSG.format(''),
                      json_response['errors'])
        self.assertIn(INVALID_LED_STATE_MSG.format(''),
                      json_response['errors'])
        self.assertIn(INVALID_LED_REPEAT_INTERVAL_MSG.format(''),
                      json_response['errors'])
Exemple #17
0
def temperature_ds18b20_view(request):
    response = {'status': 200, 'content': None}
    try:
        hc = HouseCode.objects.get(code=request.POST['house-code'])
        if temperature_is_valid(request.POST['temperature-ds18b20']):
            hc.temperature_ds18b20 = float(request.POST['temperature-ds18b20'])
            hc.save()
        else:
            response['status'] = INVALID_INPUT_STATUS
            response['errors'] = [
                api.models.INVALID_TEMPERATURE_DS18B20_MSG.format(
                    request.POST['temperature-ds18b20'])
            ]
    except HouseCode.DoesNotExist:
        response['status'] = INVALID_INPUT_STATUS
        response['errors'] = [
            HOUSE_CODE_NOT_FOUND_MSG.format(request.POST['house-code'])
        ]
    return JsonResponse(response)
Exemple #18
0
    def test_main(self):
        # user inputs a house code into the database
        self.post_house_code('FA-32')

        # user reloads the api page
        self.initialise_page()
        h2 = self.section.find_element_by_tag_name('h2')
        self.assertEqual(h2.text, '/api/debug/<house code>')

        # user turns on the debugging
        self.house_code_input.send_keys('FA-32')
        self.form.submit()
        self.assertEqual(self.browser.current_url, self.server_url + '/api/debug/FA-32')

        # user provides a house code that doesn't exist
        self.initialise_page()
        self.form.submit()
        json_response = self.get_json_response()
        self.assertEqual(json_response['status'], INVALID_INPUT_STATUS)
        self.assertEqual(json_response['errors'], [HOUSE_CODE_NOT_FOUND_MSG.format('')])
Exemple #19
0
    def test_main(self):
        # user adds a house code to the database
        self.post_house_code('FA-32')

        # user reloads the api page
        self.initialise_page()
        h2 = self.section.find_element_by_tag_name('h2')
        self.assertEqual(h2.text, 'POST /api/led/<house-code>')
        # user inputs valid input
        self.house_code_input.send_keys('FA-32')
        self.colour_input.send_keys('0')
        self.state_input.send_keys('0')
        self.repeat_interval_input.send_keys('120')
        self.form.submit()
        self.assertEqual(self.browser.current_url, self.server_url + '/api/led/FA-32')
        json_response = self.get_json_response()
        self.assertEqual(json_response['status'], 200)
        self.assertEqual(json_response['content'], None)
        
        # TODO: User needs to be able to see the result
        # Currently the LED post does not affect the cache and is just a dummy function

        # user reloads api page
        # user inputs non existent house code
        self.initialise_page()
        self.house_code_input.send_keys('FA-33')
        self.form.submit()
        json_response = self.get_json_response()
        self.assertEqual(json_response['status'], INVALID_INPUT_STATUS)
        self.assertEqual(json_response['errors'], [HOUSE_CODE_NOT_FOUND_MSG.format('FA-33')])

        # user inputs empty string for the colour
        self.initialise_page()
        self.house_code_input.send_keys('FA-32')
        self.form.submit()
        json_response = self.get_json_response()
        self.assertEqual(json_response['status'], INVALID_INPUT_STATUS)
        self.assertIn(INVALID_LED_COLOUR_MSG.format(''), json_response['errors'])
        self.assertIn(INVALID_LED_STATE_MSG.format(''), json_response['errors'])
        self.assertIn(INVALID_LED_REPEAT_INTERVAL_MSG.format(''), json_response['errors'])
Exemple #20
0
    def test_main(self):
        # user inputs a house code into the database
        self.post_house_code('FA-32')

        # user reloads the api page
        self.initialise_page()
        h2 = self.section.find_element_by_tag_name('h2')
        self.assertEqual(h2.text, '/api/debug/<house code>')

        # user turns on the debugging
        self.house_code_input.send_keys('FA-32')
        self.form.submit()
        self.assertEqual(self.browser.current_url,
                         self.server_url + '/api/debug/FA-32')

        # user provides a house code that doesn't exist
        self.initialise_page()
        self.form.submit()
        json_response = self.get_json_response()
        self.assertEqual(json_response['status'], INVALID_INPUT_STATUS)
        self.assertEqual(json_response['errors'],
                         [HOUSE_CODE_NOT_FOUND_MSG.format('')])
Exemple #21
0
 def test_non_existent_house_code(self):
     response = self.client.post('/api/led/FA-32', data={})
     response = json.loads(response.content)
     self.assertEqual(response['status'], INVALID_INPUT_STATUS)
     self.assertIn(HOUSE_CODE_NOT_FOUND_MSG.format('FA-32'), response['errors'])
Exemple #22
0
    def test_main(self):

        self.initialise_page()
        h2 = self.section.find_element_by_tag_name("h2")
        self.assertEqual(h2.text, "POST /api/valve/<house-code>")

        section = self.browser.find_element_by_id(
            "id-post-house-codes-section")
        input = section.find_element_by_id("id-house-codes-input")
        input.send_keys("FA-32\n")

        # user inputs valid input
        self.initialise_page()

        self.house_code_input.send_keys('FA-32')
        self.open_input.send_keys("50")
        self.form.submit()
        self.assertEqual(self.browser.current_url,
                         self.server_url + '/api/valve/FA-32')
        # TODO: Test the response of the form submission, don't know what the response looks like currently
        json_response = self.get_json_response()
        self.assertEqual(json_response['status'], 200)

        # user inputs a house-code that has a valid format but does not exist
        self.initialise_page()
        self.house_code_input.send_keys('FA-11')
        self.form.submit()
        response = json.loads(
            self.browser.find_element_by_tag_name("pre").text)
        self.assertEqual(response['errors'],
                         [HOUSE_CODE_NOT_FOUND_MSG.format('FA-11')])

        # form validation

        # invalid house-code
        x = self.TestParameterSet()
        x.inputs.house_code = ''
        x.inputs.open_input = '50'
        x.expected_errors = [HOUSE_CODE_NOT_FOUND_MSG.format('')]
        x.expected_status_code = INVALID_INPUT_STATUS
        self.run_input_validation_test(x)
        x = self.TestParameterSet()
        x.inputs.house_code = 'HOUSECODE'
        x.inputs.open_input = '50'
        x.expected_errors = [HOUSE_CODE_NOT_FOUND_MSG.format('HOUSECODE')]
        x.expected_status_code = INVALID_INPUT_STATUS
        self.run_input_validation_test(x)

        test_parameter_sets = []
        # empty inputs
        x = self.TestParameterSet()
        x.inputs.house_code = 'FA-32'
        x.inputs.open_input = ''
        x.expected_errors = [
            'Invalid input for parameter: open. Received: , expected: 0-100'
        ]
        x.expected_status_code = INVALID_INPUT_STATUS
        test_parameter_sets += [x]

        # open outside range - below min
        x = self.TestParameterSet()
        x.inputs.house_code = 'FA-32'
        x.inputs.open_input = "-1"
        x.expected_status_code = INVALID_INPUT_STATUS
        x.expected_errors = [
            "Invalid input for parameter: open. Received: -1, expected: 0-100"
        ]
        test_parameter_sets += [x]
        # open outside range - above max
        x = self.TestParameterSet()
        x.inputs.house_code = 'FA-32'
        x.inputs.open_input = "101"
        x.expected_status_code = INVALID_INPUT_STATUS
        x.expected_errors = [
            "Invalid input for parameter: open. Received: 101, expected: 0-100"
        ]
        test_parameter_sets += [x]

        for parameter_set in test_parameter_sets:
            self.run_input_validation_test(parameter_set)
Exemple #23
0
    def test_main(self):

        self.initialise_page()
        h2 = self.section.find_element_by_tag_name("h2")
        self.assertEqual(h2.text, "POST /api/valve/<house-code>")

        section = self.browser.find_element_by_id("id-post-house-codes-section")
        input = section.find_element_by_id("id-house-codes-input")
        input.send_keys("FA-32\n")

        # user inputs valid input
        self.initialise_page()

        self.house_code_input.send_keys('FA-32')
        self.open_input.send_keys("50")
        self.form.submit()
        self.assertEqual(self.browser.current_url, self.server_url + '/api/valve/FA-32')
        # TODO: Test the response of the form submission, don't know what the response looks like currently
        json_response = self.get_json_response()
        self.assertEqual(json_response['status'], 200)

        # user inputs a house-code that has a valid format but does not exist
        self.initialise_page()
        self.house_code_input.send_keys('FA-11')
        self.form.submit()
        response = json.loads(self.browser.find_element_by_tag_name("pre").text)
        self.assertEqual(response['errors'], [HOUSE_CODE_NOT_FOUND_MSG.format('FA-11')])
        
        # form validation

        # invalid house-code
        x = self.TestParameterSet()
        x.inputs.house_code = ''
        x.inputs.open_input = '50'
        x.expected_errors = [HOUSE_CODE_NOT_FOUND_MSG.format('')]
        x.expected_status_code = INVALID_INPUT_STATUS
        self.run_input_validation_test(x)
        x = self.TestParameterSet()
        x.inputs.house_code = 'HOUSECODE'
        x.inputs.open_input = '50'
        x.expected_errors = [HOUSE_CODE_NOT_FOUND_MSG.format('HOUSECODE')]
        x.expected_status_code = INVALID_INPUT_STATUS
        self.run_input_validation_test(x)

        test_parameter_sets = []
        # empty inputs
        x = self.TestParameterSet()
        x.inputs.house_code = 'FA-32'
        x.inputs.open_input = ''
        x.expected_errors = ['Invalid input for parameter: open. Received: , expected: 0-100']
        x.expected_status_code = INVALID_INPUT_STATUS
        test_parameter_sets += [x]

        # open outside range - below min
        x = self.TestParameterSet()
        x.inputs.house_code = 'FA-32'
        x.inputs.open_input = "-1"
        x.expected_status_code = INVALID_INPUT_STATUS
        x.expected_errors = ["Invalid input for parameter: open. Received: -1, expected: 0-100"]
        test_parameter_sets += [x]
        # open outside range - above max
        x = self.TestParameterSet()
        x.inputs.house_code = 'FA-32'
        x.inputs.open_input = "101"
        x.expected_status_code = INVALID_INPUT_STATUS
        x.expected_errors = ["Invalid input for parameter: open. Received: 101, expected: 0-100"]
        test_parameter_sets += [x]

        for parameter_set in test_parameter_sets:
            self.run_input_validation_test(parameter_set)
Exemple #24
0
 def test_non_existent_house_code(self):
     response = self.client.post('/api/led/FA-32', data={})
     response = json.loads(response.content)
     self.assertEqual(response['status'], INVALID_INPUT_STATUS)
     self.assertIn(HOUSE_CODE_NOT_FOUND_MSG.format('FA-32'),
                   response['errors'])
Exemple #25
0
 def test_non_existant_house_code_returns_error(self):
     response = self.client.post('/api/valve/FA-32', data={'open': '50', "min_temp": '7', 'max_temp': '20'})
     response = json.loads(response.content)
     self.assertEqual(response['errors'], [HOUSE_CODE_NOT_FOUND_MSG.format('FA-32')])
     self.assertEqual(response['status'], INVALID_INPUT_STATUS)
Exemple #26
0
 def test_house_code_does_not_exist(self):
     response = self.client.post('/led/house-code', data={'house-code': 'E2-E1'})
     response = json.loads(response.content)
     self.assertEqual(response['status'], INVALID_INPUT_STATUS)
     self.assertEqual(response['errors'], [HOUSE_CODE_NOT_FOUND_MSG.format('E2-E1')])