Design for test-ability

Bug #941205 reported by Eike
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
bug-repo-syncer
New
Wishlist
Unassigned

Bug Description

Design all interfaces so that they can easily tested. Also consider test
duration.

This is a high level bug to collect issues and ideas. For concrete fixes
separate bugs should be filed.

= `ApplicationMain.do_*` =

These methods should return some kind of reports that describe their
actions. Hmm???

= `*Controller.get_recent_changes` =

Tests for these methods are currently quite slow because they
download many bugs.

To test these methods they currently download changes from a fixed
date. Then the test function searches for certain bugs in the list
of returned bugs. As the number of bugs increases over time, the
test gets slower and slower. This problem would be alleviated if
the function returned only IDs.

== Strategy 1 ==

Tests for these methods could be sped up after switching to
"Launchpad-staging": The bugs could be created immediately before
the test. Everything in staging is deleted after some weeks. The test for Trac could delete its bugs at the end.

== Strategy 2 ==

Change method's return value to list of bug IDs.

Research this with `LaunchpadController`, the design of Launchpadlib makes it
hard to predict the performance of the changed design. Launchpadlib returns an
iterator over bug-tasks that probably downloads the tasks when their ID
`self_link` is taken.

Eike (eike-welk)
Changed in bug-repo-syncer:
importance: Undecided → Wishlist
milestone: none → 0.2.0
description: updated
summary: - dummy
+ Improve interface of `SyncTaskExecutor.synchronize_repos()`
Eike (eike-welk)
description: updated
Eike (eike-welk)
summary: - Improve interface of `SyncTaskExecutor.synchronize_repos()`
+ Duplicate test bug
Eike (eike-welk)
summary: - Duplicate test bug
+ Improve interface of `SyncTaskExecutor.synchronize_repos()`
Eike (eike-welk)
Changed in bug-repo-syncer:
importance: Wishlist → Medium
summary: - Improve interface of `SyncTaskExecutor.synchronize_repos()`
+ Design for test-ability
Eike (eike-welk)
Changed in bug-repo-syncer:
importance: Medium → Wishlist
description: updated
Eike (eike-welk)
Changed in bug-repo-syncer:
milestone: 0.2.0 → 0.3.0
Eike (eike-welk)
description: updated
Eike (eike-welk)
Changed in bug-repo-syncer:
milestone: 0.3.0 → 0.4.0
description: updated
Eike (eike-welk)
Changed in bug-repo-syncer:
milestone: 0.4.0 → 0.5.0
description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.