def check_address_valid_case_updated_events(context):
    address_valid_case_ids = [case_id['CASE_ID'] for case_id in context.bulk_uninvalidated_addresses]
    context.case_updated_events = get_case_updated_events(context, len(address_valid_case_ids))
    test_helper.assertEqual(len(context.case_updated_events), len(context.bulk_uninvalidated_addresses))
    for event in context.case_updated_events:
        test_helper.assertFalse(event['payload']['collectionCase']['addressInvalid'],
                                'Address invalid flag must be "False" on all updated events')
        test_helper.assertIn(event['payload']['collectionCase']['id'], address_valid_case_ids,
                             'Unexpected case ID found on updated event')
def check_case_updated_event(context):
    context.case_updated_events = get_case_updated_events(context, 1)
    collection_case = context.case_updated_events[0]['payload']['collectionCase']

    test_helper.assertIn(collection_case['id'], context.rm_case_updated['caseId'])
    test_helper.assertEqual(collection_case['treatmentCode'], context.rm_case_updated['treatmentCode'])
    test_helper.assertEqual(collection_case['address']['estabType'], context.rm_case_updated['estabType'])
    test_helper.assertEqual(collection_case['oa'], context.rm_case_updated['oa'])
    test_helper.assertEqual(collection_case['lsoa'], context.rm_case_updated['lsoa'])
    test_helper.assertEqual(collection_case['msoa'], context.rm_case_updated['msoa'])
    test_helper.assertEqual(collection_case['lad'], context.rm_case_updated['lad'])
    test_helper.assertEqual(collection_case['fieldCoordinatorId'],
                            context.rm_case_updated['fieldCoordinatorId'])
    test_helper.assertEqual(collection_case['fieldOfficerId'], context.rm_case_updated['fieldOfficerId'])
    test_helper.assertEqual(collection_case['address']['latitude'], context.rm_case_updated['latitude'])
    test_helper.assertEqual(collection_case['address']['longitude'], context.rm_case_updated['longitude'])
    test_helper.assertFalse(collection_case['skeleton'], 'Skeleton flag should be removed from updated case')
Example #3
0
def check_address_invalid_case_updated_events(context):
    address_invalid_case_ids = set(context.bulk_invalid_addresses.keys())
    case_updated_events = get_case_updated_events(
        context, len(address_invalid_case_ids))
    test_helper.assertEqual(len(case_updated_events),
                            len(context.bulk_invalid_addresses))
    for event in case_updated_events:
        test_helper.assertTrue(
            event['payload']['collectionCase']['addressInvalid'],
            'Address invalid flag must be "True" on all updated events')
        test_helper.assertIn(event['payload']['collectionCase']['id'],
                             address_invalid_case_ids,
                             'Unexpected case ID found on updated event')

    context.bulk_invalid_address_file.unlink()
    if Config.BULK_INVALID_ADDRESS_BUCKET_NAME:
        clear_bucket(Config.BULK_INVALID_ADDRESS_BUCKET_NAME)
Example #4
0
def check_address_valid_case_updated_events(context):
    address_valid_case_ids = [
        case_id['CASE_ID'] for case_id in context.bulk_uninvalidated_addresses
    ]
    context.case_updated_events = get_case_updated_events(
        context, len(address_valid_case_ids))
    test_helper.assertEqual(len(context.case_updated_events),
                            len(context.bulk_uninvalidated_addresses))
    for event in context.case_updated_events:
        test_helper.assertFalse(
            event['payload']['collectionCase']['addressInvalid'],
            'Address invalid flag must be "False" on all updated events')
        test_helper.assertIn(event['payload']['collectionCase']['id'],
                             address_valid_case_ids,
                             'Unexpected case ID found on updated event')

    context.bulk_uninvalidated_addresses_file.unlink()
    if Config.BULK_UNINVALIDATED_ADDRESS_BUCKET_NAME:
        clear_bucket(Config.BULK_UNINVALIDATED_ADDRESS_BUCKET_NAME)
Example #5
0
def check_cases_are_updated_with_correct_refusal_types(context):
    case_updated_events = get_case_updated_events(context,
                                                  len(context.bulk_refusals))
    for event in case_updated_events:
        test_helper.assertIn(
            event['payload']['collectionCase']['id'],
            context.bulk_refusals.keys(),
            'Case updated events should only be emitted for refused cases')
        expected_refusal_type = context.bulk_refusals[event['payload']
                                                      ['collectionCase']['id']]
        test_helper.assertEqual(
            event['payload']['collectionCase']['refusalReceived'],
            expected_refusal_type,
            'Refusal type on the case updated events should match the expected type from the bulk file'
        )

    context.bulk_refusals_file.unlink()
    if Config.BULK_REFUSAL_BUCKET_NAME:
        clear_bucket(Config.BULK_REFUSAL_BUCKET_NAME)
Example #6
0
def mark_cases_as_invalid(context):
    invalid_address_case_ids = [
        case['payload']['collectionCase']['id']
        for case in context.case_created_events
    ]

    for case_id in invalid_address_case_ids:
        send_invalid_address_message_to_rabbit(case_id, "CC")

    case_updated_events = get_case_updated_events(
        context, len(context.case_created_events))
    for event in case_updated_events:
        test_helper.assertIn(event['payload']['collectionCase']['id'],
                             invalid_address_case_ids,
                             'Unexpected case ID found on updated event')
    context.cancels_to_ignore = []
    start_listening_to_rabbit_queue(
        Config.RABBITMQ_OUTBOUND_FIELD_QUEUE,
        functools.partial(ignore_field_cancel_msgs,
                          context=context,
                          expected_msg_count=len(case_updated_events)))
Example #7
0
def check_non_compliance_bulk_updates(context):
    updated_case_events = get_case_updated_events(
        context, len(context.non_compliance_case_ids))

    updated_cases = [
        case['payload']['collectionCase'] for case in updated_case_events
    ]

    non_compliance_ids = context.non_compliance_case_ids.copy()

    for updated_case in updated_cases:
        for case_id in non_compliance_ids:
            if updated_case['id'] == case_id:
                non_compliance_ids.remove(case_id)
                test_helper.assertEqual(
                    updated_case['metadata']['nonCompliance'], 'NCL')
                test_helper.assertEqual(updated_case['fieldCoordinatorId'],
                                        '10000')
                test_helper.assertEqual(updated_case['fieldOfficerId'],
                                        '100010')

    test_helper.assertEqual(len(non_compliance_ids), 0)
def check_address_valid_case_updated_event_non_compliance(context):
    collection_case = get_case_updated_events(context, 1)[0]['payload']['collectionCase']

    test_helper.assertEqual(collection_case['id'], context.non_compliance_case_id)
    test_helper.assertEqual(collection_case['metadata']['nonCompliance'], 'NCF')
Example #9
0
def check_address_update_case_updated_events(context):
    address_update_case_ids = set(row['CASE_ID']
                                  for row in context.bulk_address_updates)
    context.case_updated_events = get_case_updated_events(
        context, len(address_update_case_ids))
    test_helper.assertEqual(len(context.case_updated_events),
                            len(context.bulk_address_updates))
    for event in context.case_updated_events:
        collection_case = event['payload']['collectionCase']
        test_helper.assertIn(collection_case['id'], address_update_case_ids,
                             'Unexpected case ID found on updated event')
        test_helper.assertEqual(
            collection_case['treatmentCode'],
            context.bulk_address_updates[0]['TREATMENT_CODE'])
        test_helper.assertEqual(collection_case['address']['estabType'],
                                context.bulk_address_updates[0]['ESTAB_TYPE'])
        test_helper.assertEqual(collection_case['oa'],
                                context.bulk_address_updates[0]['OA'])
        test_helper.assertEqual(collection_case['lsoa'],
                                context.bulk_address_updates[0]['LSOA'])
        test_helper.assertEqual(collection_case['msoa'],
                                context.bulk_address_updates[0]['MSOA'])
        test_helper.assertEqual(collection_case['lad'],
                                context.bulk_address_updates[0]['LAD'])
        test_helper.assertEqual(
            collection_case['fieldCoordinatorId'],
            context.bulk_address_updates[0]['FIELDCOORDINATOR_ID'])
        test_helper.assertEqual(
            collection_case['fieldOfficerId'],
            context.bulk_address_updates[0]['FIELDOFFICER_ID'])
        test_helper.assertEqual(collection_case['address']['latitude'],
                                context.bulk_address_updates[0]['LATITUDE'])
        test_helper.assertEqual(collection_case['address']['longitude'],
                                context.bulk_address_updates[0]['LONGITUDE'])
        test_helper.assertTrue(
            collection_case['metadata']['secureEstablishment'],
            'Secure flag should be changed to true')
        test_helper.assertEqual(collection_case['printBatch'],
                                context.bulk_address_updates[0]['PRINT_BATCH'])
        test_helper.assertEqual(
            collection_case['ceExpectedCapacity'],
            int(context.bulk_address_updates[0]['CE_EXPECTED_CAPACITY']))
        test_helper.assertEqual(
            collection_case['htcWillingness'],
            context.bulk_address_updates[0]['HTC_WILLINGNESS'])
        test_helper.assertEqual(collection_case['htcDigital'],
                                context.bulk_address_updates[0]['HTC_DIGITAL'])
        test_helper.assertEqual(collection_case['address']['uprn'],
                                context.bulk_address_updates[0]['UPRN'])
        test_helper.assertEqual(collection_case['address']['estabUprn'],
                                context.bulk_address_updates[0]['ESTAB_UPRN'])
        test_helper.assertEqual(
            collection_case['address']['addressLine1'],
            context.bulk_address_updates[0]['ADDRESS_LINE1'])
        test_helper.assertEqual(
            collection_case['address']['addressLine2'],
            context.bulk_address_updates[0]['ADDRESS_LINE2'])
        test_helper.assertEqual(
            collection_case['address']['addressLine3'],
            context.bulk_address_updates[0]['ADDRESS_LINE3'])
        test_helper.assertEqual(collection_case['address']['abpCode'],
                                context.bulk_address_updates[0]['ABP_CODE'])
        test_helper.assertEqual(
            collection_case['address']['organisationName'],
            context.bulk_address_updates[0]['ORGANISATION_NAME'])
        test_helper.assertEqual(collection_case['address']['postcode'],
                                context.bulk_address_updates[0]['POSTCODE'])
        test_helper.assertEqual(collection_case['address']['townName'],
                                context.bulk_address_updates[0]['TOWN_NAME'])

        test_helper.assertFalse(
            collection_case['skeleton'],
            'Skeleton flag should be removed from updated case')

    context.bulk_address_updates_file.unlink()
    if Config.BULK_ADDRESS_UPDATE_BUCKET_NAME:
        clear_bucket(Config.BULK_ADDRESS_UPDATE_BUCKET_NAME)