def test_metadata_display_name_is_trad_as_when_trad_as_supplied(self):
        # Given

        # When
        metadata_context = build_schema_metadata(self.metadata, self.schema)

        # Then
        self.assertEqual(metadata_context['trad_as_or_ru_name'],
                         self.metadata['trad_as'])
    def test_given_backslash_in_ru_name_when_create_context_then_backslash_are_escaped(self):
        # Given
        self.metadata['ru_name'] = '\\ru name\\'

        # When
        metadata_context = build_schema_metadata(self.metadata, self.schema)

        # Then
        self.assertEqual(metadata_context['ru_name'], r'\\ru name\\')
    def test_given_quotes_in_ru_name_when_create_context_then_quotes_are_html_encoded(self):
        # Given
        self.metadata['ru_name'] = '\"ru name\"'

        # When
        metadata_context = build_schema_metadata(self.metadata, self.schema)

        # Then
        self.assertEqual(metadata_context['ru_name'], r'"ru name"')
    def test_build_schema_metadata(self):
        # When
        metadata_context = build_schema_metadata(self.metadata, self.schema)

        # Then
        self.assertEqual('2016-10-13', metadata_context['ref_p_start_date'])
        self.assertEqual('2016-10-14', metadata_context['ref_p_end_date'])
        self.assertEqual('201610', metadata_context['period_id'])
        self.assertEqual('2016-10-19', metadata_context['employment_date'])
        self.assertEqual('Steve', metadata_context['user_id'])
def build_metadata_context(metadata):
    """
    Builds the metadata context using eq claims and schema defined metadata
    :param metadata: token metadata
    :return: metadata context
    """
    eq_context = {
        'eq_id': json_and_html_safe(metadata['eq_id']),
        'collection_id':
        json_and_html_safe(metadata['collection_exercise_sid']),
        'form_type': json_and_html_safe(metadata['form_type']),
        'ru_ref': json_and_html_safe(metadata['ru_ref']),
        'tx_id': json_and_html_safe(metadata['tx_id']),
    }

    schema = load_schema_from_metadata(metadata)

    eq_context.update(build_schema_metadata(metadata, schema))

    return eq_context