From d6fdc189a482013e3e4e9c082f3cabf3fa2838aa Mon Sep 17 00:00:00 2001 From: Jan Kaluza Date: Jul 18 2019 11:39:44 +0000 Subject: Fix the switched `depending_events` and `depends_on_events` lists. It seems to me that those REST API fields are switched. If Event A depends on B, the B is listed in A's `depending_events`, but it should be listed in the `depends_on_events`. This commit fixes this, adds more comments to the code and also renames `depends_on_events` to `depending_events`. --- diff --git a/freshmaker/models.py b/freshmaker/models.py index 1d4889d..09059e2 100644 --- a/freshmaker/models.py +++ b/freshmaker/models.py @@ -282,6 +282,9 @@ class Event(FreshmakerBase): @property def event_dependencies(self): + """ + Returns the list of Events this Event depends on. + """ events = [] deps = EventDependency.query.filter_by(event_id=self.id).all() for dep in deps: @@ -290,13 +293,16 @@ class Event(FreshmakerBase): return events @property - def depends_on_events(self): - depends_on_events = [] + def depending_events(self): + """ + Returns the list of Events depending on this Event. + """ + depending_events = [] parents = EventDependency.query.filter_by(event_dependency_id=self.id).all() for p in parents: - depends_on_events.append(Event.query.filter_by( + depending_events.append(Event.query.filter_by( id=p.event_id).first()) - return depends_on_events + return depending_events def has_all_builds_in_state(self, state): """ @@ -385,8 +391,8 @@ class Event(FreshmakerBase): def json(self): data = self._common_json() data['builds'] = [b.json() for b in self.builds] - data['depends_on_events'] = [event.id for event in self.depends_on_events] - data['depending_events'] = [event.id for event in self.event_dependencies] + data['depends_on_events'] = [event.id for event in self.event_dependencies] + data['depending_events'] = [event.id for event in self.depending_events] return data def json_min(self): diff --git a/tests/test_models.py b/tests/test_models.py index c210f40..0e1c09e 100644 --- a/tests/test_models.py +++ b/tests/test_models.py @@ -388,7 +388,7 @@ class TestEventDependency(helpers.ModelsTestCase): event = Event.create(db.session, "test_msg_id", "test", events.TestingEvent) db.session.commit() self.assertEqual(event.event_dependencies, []) - self.assertEqual(event.depends_on_events, []) + self.assertEqual(event.depending_events, []) def test_add_a_dependent_event(self): event = Event.create(db.session, "test_msg_id", "test", events.TestingEvent) @@ -401,8 +401,8 @@ class TestEventDependency(helpers.ModelsTestCase): self.assertEqual(event.event_dependencies, [event1]) self.assertEqual(event.event_dependencies[0].search_key, "test2") self.assertEqual(event1.event_dependencies, []) - self.assertEqual(event1.depends_on_events, [event]) - self.assertEqual(event.depends_on_events, []) + self.assertEqual(event1.depending_events, [event]) + self.assertEqual(event.depending_events, []) def test_add_existing_dependent_event(self): event = Event.create(db.session, "test_msg_id", "test", events.TestingEvent) @@ -415,7 +415,7 @@ class TestEventDependency(helpers.ModelsTestCase): self.assertIsNone(rel) self.assertEqual(event.event_dependencies, [event1]) - self.assertEqual(event1.depends_on_events, [event]) + self.assertEqual(event1.depending_events, [event]) def test_return_added_dependency_relationship(self): event = Event.create(db.session, "test_msg_id", "test", events.TestingEvent) diff --git a/tests/test_views.py b/tests/test_views.py index d791e3b..dea2f05 100644 --- a/tests/test_views.py +++ b/tests/test_views.py @@ -519,14 +519,14 @@ class TestViews(helpers.ModelsTestCase): resp = self.client.get('/api/1/events/4') data = json.loads(resp.get_data(as_text=True)) self.assertEqual(data['id'], event1.id) - self.assertEqual(data['depends_on_events'], [event.id]) - self.assertEqual(data['depending_events'], []) + self.assertEqual(data['depends_on_events'], []) + self.assertEqual(data['depending_events'], [event.id]) resp = self.client.get('/api/1/events/3') data = json.loads(resp.get_data(as_text=True)) self.assertEqual(data['id'], event.id) - self.assertEqual(data['depends_on_events'], []) - self.assertEqual(data['depending_events'], [event1.id]) + self.assertEqual(data['depends_on_events'], [event1.id]) + self.assertEqual(data['depending_events'], []) class TestViewsMultipleFilterValues(helpers.ModelsTestCase):