Esempio n. 1
0
    def test_index_by_fk_1(self):
        columns = {'id': '1', 'area': '2', 'type': '3'}
        parsed_message = Message(1, 'area_alias', columns, 'delete')
        handler.SCHEMA = SCHEMA
        self.handler = handler.Handler(SCHEMA.keys())
        for entity_type, entity in SCHEMA.items():
            self.handler.cores[entity_type] = mock.Mock()

        self.handler._index_by_fk(parsed_message)
        calls = self.handler.db_session().execute.call_args_list
        self.assertEqual(len(calls), 6)
        actual_queries = [str(call[0][0]) for call in calls]
        expected_queries = [
            'SELECT place_1.id AS place_1_id \n'
            'FROM musicbrainz.place AS place_1 JOIN musicbrainz.area ON musicbrainz.area.id = place_1.area \n'
            'WHERE musicbrainz.area.id = :id_1',
            'SELECT label_1.id AS label_1_id \n'
            'FROM musicbrainz.label AS label_1 JOIN musicbrainz.area ON musicbrainz.area.id = label_1.area \n'
            'WHERE musicbrainz.area.id = :id_1',
            'SELECT artist_1.id AS artist_1_id \n'
            'FROM musicbrainz.artist AS artist_1 JOIN musicbrainz.area ON musicbrainz.area.id = artist_1.end_area \n'
            'WHERE musicbrainz.area.id = :id_1',
            'SELECT artist_1.id AS artist_1_id \n'
            'FROM musicbrainz.artist AS artist_1 JOIN musicbrainz.area ON musicbrainz.area.id = artist_1.area \n'
            'WHERE musicbrainz.area.id = :id_1',
            'SELECT artist_1.id AS artist_1_id \n'
            'FROM musicbrainz.artist AS artist_1 JOIN musicbrainz.area ON musicbrainz.area.id = artist_1.begin_area \n'
            'WHERE musicbrainz.area.id = :id_1',
            'SELECT musicbrainz.area.id AS musicbrainz_area_id \n'
            'FROM musicbrainz.area \n'
            'WHERE musicbrainz.area.id = :id_1'
        ]

        self.assertEqual(expected_queries, actual_queries)
Esempio n. 2
0
 def test_index_by_fk_3(self):
     columns = {'release_group': 1}
     parsed_message = Message(1, 'release', columns, 'delete')
     handler.SCHEMA = SCHEMA
     self.handler = handler.Handler()
     for entity_type, entity in SCHEMA.items():
         self.handler.cores[entity_type] = mock.Mock()
         entity.build_entity_query = mock.MagicMock()
     self.handler._index_by_fk(parsed_message)
     calls = self.handler.db_session().execute.call_args_list
     self.assertEqual(len(calls), 1)
     actual_queries = [str(call[0][0]) for call in calls]
     expected_queries = [
         'SELECT musicbrainz.release_group.id AS musicbrainz_release_group_id \n'
         'FROM musicbrainz.release_group \n'
         'WHERE musicbrainz.release_group.id = :id_1']
     self.assertEqual(expected_queries, actual_queries)
Esempio n. 3
0
 def _parsed_message(body='{"_table": "artist", "id": "42"}',
                     channel="search.index"):
     msg = Message(body=body)
     parsed_message = PMessage.from_amqp_message(channel, msg)
     return parsed_message
Esempio n. 4
0
 def _parsed_message(body="artist 123 456", channel="search.index"):
     msg = Message(body=body)
     parsed_message = PMessage.from_amqp_message(channel, msg)
     return parsed_message
Esempio n. 5
0
 def _parsed_message(body='{"_table": "artist", "id": "42"}', channel="search.index"):
     msg = Message(body=body)
     parsed_message = PMessage.from_amqp_message(channel, msg)
     return parsed_message
Esempio n. 6
0
 def _parsed_message(body="artist 123 456", channel="search.index"):
     msg = Message(body=body)
     parsed_message = PMessage.from_amqp_message(channel, msg)
     return parsed_message