def test_has_valid_visa():
    p1 = {"passport": "6P294-42HR2-95PSF-93NFF-2T5WF",
          "first_name": "JACK",
          "last_name": "DOE",
          "birth_date": "1938-12-21",
          "home": {"city": "Bala",
                   "region": "ON",
                   "country": "KAN"},
          "visa": {"code": "BER4r-WDN39",
                   "date": "2015-02-24"},
          "entry_reason": "returning",
          "from": {"city": "Wumpus",
                   "region": "Headdeskia",
                   "country": "JIK"}}
    assert has_valid_visa(p1) is True
    p2 = {"passport": "6P294-42HR2-95PSF-93NFF-2T5WF",
          "first_name": "JACK",
          "last_name": "DOE",
          "birth_date": "1938-12-21",
          "home": {"city": "Bala",
                   "region": "ON",
                   "country": "KAN"},
          "entry_reason": "returning",
          "from": {"city": "Wumpus",
                   "region": "Headdeskia",
                   "country": "JIK"}}
    assert has_valid_visa(p2) is False
    p3 = {"passport": "6P294-42HR2-95PSF-93NFF-2T5WF",
          "first_name": "JACK",
          "last_name": "DOE",
          "birth_date": "1938-12-21",
          "home": {"city": "Bala",
                   "region": "ON",
                   "country": "KAN"},
          "visa": {"code": "BER4rWDN39",
                   "date": "2015-02-24"},
          "entry_reason": "returning",
          "from": {"city": "Wumpus",
                   "region": "Headdeskia",
                   "country": "JIK"}}
    assert has_valid_visa(p3) is False
    p4 = {"passport": "6P294-42HR2-95PSF-93NFF-2T5WF",
          "first_name": "JACK",
          "last_name": "DOE",
          "birth_date": "1938-12-21",
          "home": {"city": "Bala",
                   "region": "ON",
                   "country": "KAN"},
          "visa": {"code": "BER4r-WDN39",
                   "date": "2010-02-24"},
          "entry_reason": "returning",
          "from": {"city": "Wumpus",
                   "region": "Headdeskia",
                   "country": "JIK"}}
    assert has_valid_visa(p4) is False
def test_decide_visitors_invalid_visa_via_country_with_medical_advisory_file():
    """
    Ensure that the file contains travellers that are visitors. Visitors travelled through or from a country with a
    medical advisory. All visitors are from a country that requires a visitor_visa, but these travellers do not have
    valid visas.
    """
    with open("test_decide_visitors_invalid_visa_via_country_with_medical_advisory.json", "r") as citizen_file:
        citizen_content = citizen_file.read()
    citizen_json = json.loads(citizen_content)

    assert valid_file_contents(citizen_json)
    for person in citizen_json:
        country_code = person["home"]["country"]
        assert country_code != "KAN"
        assert COUNTRIES[country_code]['visitor_visa_required'] == "1"
        invalid_visa = True
        if has_valid_visa(person):
            invalid_visa = False
        assert invalid_visa
        traveled_via_medical_advisory_country = False
        location_fields_to_check = LOCATION_FIELDS[1:]  # Excludes home location field
        for item in location_fields_to_check:
            if item in person:
                country_code = person[item]['country']
                if COUNTRIES[country_code]['medical_advisory'] != "":
                    traveled_via_medical_advisory_country = True
        assert traveled_via_medical_advisory_country
示例#3
0
def test_decide_visitors_invalid_visa_via_country_with_medical_advisory_file():
    """
    Ensure that the file contains travellers that are visitors. Visitors travelled through or from a country with a
    medical advisory. All visitors are from a country that requires a visitor_visa, but these travellers do not have
    valid visas.
    """
    with open(
            "test_decide_visitors_invalid_visa_via_country_with_medical_advisory.json",
            "r") as citizen_file:
        citizen_content = citizen_file.read()
    citizen_json = json.loads(citizen_content)

    assert valid_file_contents(citizen_json)
    for person in citizen_json:
        country_code = person["home"]["country"]
        assert country_code != "KAN"
        assert COUNTRIES[country_code]['visitor_visa_required'] == "1"
        invalid_visa = True
        if has_valid_visa(person):
            invalid_visa = False
        assert invalid_visa
        traveled_via_medical_advisory_country = False
        location_fields_to_check = LOCATION_FIELDS[
            1:]  # Excludes home location field
        for item in location_fields_to_check:
            if item in person:
                country_code = person[item]['country']
                if COUNTRIES[country_code]['medical_advisory'] != "":
                    traveled_via_medical_advisory_country = True
        assert traveled_via_medical_advisory_country
示例#4
0
def test_decide_visitors_require_visas_valid_visas_file():
    """
    Ensure that the file contains travellers that have are visitors, from locations that require visas, and they
    have valid visas. No visitors travelled through or from a country with a medical advisory.
    """
    with open("test_decide_visitors_require_visas_valid_visas.json",
              "r") as citizen_file:
        citizen_content = citizen_file.read()
    citizen_json = json.loads(citizen_content)

    assert valid_file_contents(citizen_json)
    for person in citizen_json:
        country_code = person["home"]["country"]
        assert country_code != "KAN"
        assert COUNTRIES[country_code]['visitor_visa_required'] == "1"
        valid = False
        assert "visa" in person
        if has_valid_visa(person):
            valid = True
        assert valid
        for item in LOCATION_FIELDS:
            if item in person:
                country_code_check_medical_advisory = person[item]['country']
                assert COUNTRIES[country_code_check_medical_advisory][
                    'medical_advisory'] == ""
def test_decide_visitors_require_visas_invalid_visas_file():
    """
    Ensure that the file contains travellers that are visitors, from locations that require visas, and they
    do not have valid visas. No visitors travelled through or from a country with a medical advisory.
    """
    with open("test_decide_visitors_require_visas_invalid_visas.json", "r") as citizen_file:
        citizen_content = citizen_file.read()
    citizen_json = json.loads(citizen_content)

    assert valid_file_contents(citizen_json)
    for person in citizen_json:
        country_code = person["home"]["country"]
        assert country_code != "KAN"
        assert COUNTRIES[country_code]['visitor_visa_required'] == "1"
        invalid_visa = True
        if has_valid_visa(person):
                invalid_visa = False
        assert invalid_visa
        for item in LOCATION_FIELDS:
            if item in person:
                country_code_check_medical_advisory = person[item]['country']
                assert COUNTRIES[country_code_check_medical_advisory]['medical_advisory'] == ""
示例#6
0
def test_has_valid_visa():
    p1 = {
        "passport": "6P294-42HR2-95PSF-93NFF-2T5WF",
        "first_name": "JACK",
        "last_name": "DOE",
        "birth_date": "1938-12-21",
        "home": {
            "city": "Bala",
            "region": "ON",
            "country": "KAN"
        },
        "visa": {
            "code": "BER4r-WDN39",
            "date": "2015-02-24"
        },
        "entry_reason": "returning",
        "from": {
            "city": "Wumpus",
            "region": "Headdeskia",
            "country": "JIK"
        }
    }
    assert has_valid_visa(p1) is True
    p2 = {
        "passport": "6P294-42HR2-95PSF-93NFF-2T5WF",
        "first_name": "JACK",
        "last_name": "DOE",
        "birth_date": "1938-12-21",
        "home": {
            "city": "Bala",
            "region": "ON",
            "country": "KAN"
        },
        "entry_reason": "returning",
        "from": {
            "city": "Wumpus",
            "region": "Headdeskia",
            "country": "JIK"
        }
    }
    assert has_valid_visa(p2) is False
    p3 = {
        "passport": "6P294-42HR2-95PSF-93NFF-2T5WF",
        "first_name": "JACK",
        "last_name": "DOE",
        "birth_date": "1938-12-21",
        "home": {
            "city": "Bala",
            "region": "ON",
            "country": "KAN"
        },
        "visa": {
            "code": "BER4rWDN39",
            "date": "2015-02-24"
        },
        "entry_reason": "returning",
        "from": {
            "city": "Wumpus",
            "region": "Headdeskia",
            "country": "JIK"
        }
    }
    assert has_valid_visa(p3) is False
    p4 = {
        "passport": "6P294-42HR2-95PSF-93NFF-2T5WF",
        "first_name": "JACK",
        "last_name": "DOE",
        "birth_date": "1938-12-21",
        "home": {
            "city": "Bala",
            "region": "ON",
            "country": "KAN"
        },
        "visa": {
            "code": "BER4r-WDN39",
            "date": "2010-02-24"
        },
        "entry_reason": "returning",
        "from": {
            "city": "Wumpus",
            "region": "Headdeskia",
            "country": "JIK"
        }
    }
    assert has_valid_visa(p4) is False