-
Notifications
You must be signed in to change notification settings - Fork 492
Product flavor for using mock exposure notification API #321
Comments
Dear @pocmo, you are right, we have considered this but due to the tight time constraints and the change frequency within the app and the EN api, we were not able to ensure a properly maintained mock client and had to drop it for now. This is definitely something that could be done as a contribution and we are interested in having this; it would make testing for collaborators without whitelisting much easier. Knowing this, are you still willing to invest some effort? If so, please let me know and I'll assign you the issue! Perhaps some other colleagues are interested in collaborating together with you? |
Hey @marcmuschko, thank you for your reply!
Is whitelisting something that is at all possible for outside contributors?
I can fully understand that you are not interested in maintaining this as part of this repository if this is not something that benefits the core team directly or in the worst case adds more work for them. Nevertheless I wonder if an mock of
I'm still interested. But a fork outside of this repository would essentially not be visible to anyone interested in this project? |
Hi @pocmo, regarding whitelisting, it's not possible at the moment, our community managers will provide updates here. I am not saying there is no chance for this addition to be merged if it's fine quality / content wise, but as many things are currently in clarification (e.g. who maintains community-built content after release that is not critical to core functionality but still really nice), it would be unfair to impact your decision to work on this by a "maybe / likely in the future". Of course I understand that if you provide this feature as a fork, visibility is desirable and also quite beneficial to us. Therefore we could include your fork as a highlighted mention in the readme and pin this issue. |
Alright, I'll work in my fork for now and will report back once something interesting comes out of it. |
@pocmo thank you very much, sounds great and I'm looking forward to the results! |
I was about to look further into this and noticed that a |
@pocmo correct, the development menus are also included there to make testing a bit easier. |
Added a first iteration to my repository: In that patch I changed In further iterations I would like to (only in the
|
added error handling for risk level transaction
Dear @pocmo , Did you pursue this further? Looks like this issue got lost in time :) Corona-Warn-App Open Source Team |
@heinezen No, not really beyond the initial work to mock the API. Is there an interested to revive this effort? :) |
I don't know whether it would be worth pursuing this issue further, although in the past I have often wished it had been implemented! The Android CWA app has become more tester-friendly when using the Build Variant "deviceForTestersDebug" in Android Studio and running with a Google account which has not been allowlisted by Google. It does mean that many aspects which do not rely on a working Google Exposure Notifications System API can be tested without generating multiple errors. Also the Corona Contact Tracing Germany fork has produced a version which does not depend on Google Play services. (See README.md of CCTG). |
@pocmo I think it's not strictly necessary anymore, as @MikeMcC399 already pointed out, although it would still be nice. But testing the app has become a lot easier already. Corona-Warn-App Open Source Team |
Instead of creating a mock API client, this issue could be implemented using the fully functional microG implementation. Pretty much only a few libraries would have to be swapped, which can be done using the build flavor. |
I have just checked the linked Jira issue. Jira Ticket is flagged as: Developer comment:
|
In the code you mention a plan to add a product flavor that should use a mock exposure notification API:
cwa-app-android/Corona-Warn-App/build.gradle
Lines 67 to 77 in a326bb4
Is this something that could be done as a contribution? Looking at
InternalExposureNotificationClient
it seems like one option could be to inject a different/mockExposureNotificationClient
implementation that returns some dummy values. This at least would allow launching the app without any API support on the device. Did you have more elaborate plans? (e.g. controlling the mocked API via an activity or test app?).Would be interested in contributing this if possible.
Internal Tracking ID: EXPOSUREAPP-1967
The text was updated successfully, but these errors were encountered: