Closed Bug 994017 Opened 10 years ago Closed 6 years ago

Add a marionette test to add a google account.

Categories

(Firefox OS Graveyard :: Gaia::Calendar, defect)

x86
macOS
defect
Not set
normal

Tracking

(tracking-b2g:+)

RESOLVED WONTFIX
tracking-b2g +

People

(Reporter: evanxd, Unassigned)

References

Details

(Whiteboard: [priority], [p=3])

      No description provided.
Hi Kevin,

For the implementation of the test, we might have some unstable problems.
For example, the password of the google account might be changed by somebody, and the test depend on the google calendar service. How do we figure out these, or these are not problems?

Maybe, we could not need to log in the real google calendar. We could make a fake google log in page, then let Calendar app interact with the fake page for the testing purpose. This idea might work, but might be not easy.

How do you think about the above things?
Flags: needinfo?(kgrandon)
My preference would be to have some test that is capable of running offline, using a mock HTTP server, which will go through the same code paths as google. I'm not sure that we'd want to emulate the google UI, perhaps all it needs to do is to hit the callback with a mock oauth response.

I'm wondering if we could use the marionette server here in shared/: https://github.com/mozilla-b2g/gaia/blob/master/shared/test/integration/server.js

I'm also going to ni? on :gaye as I think he's thought about this a fair amount and may have some ideas.
Flags: needinfo?(kgrandon) → needinfo?(gaye)
Status: ASSIGNED → UNCONFIRMED
Ever confirmed: false
After we have clear idea to fix this, I will give it a shot.
Assignee: evanxd → nobody
Assignee: nobody → evanxd
Target Milestone: --- → 1.4 S6 (25apr)
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
So after some thinking, I think we'd like tests that run online against all of the providers we're supporting. The first two should be Google and Yahoo!. These tests won't run on Travis/TBPL. They'll serve two purposes.

(1) Monitoring our compliance with supported providers
(2) Diagnostic tool for developers investigating bugs caused by unexpected caldav interactions and ical data

My preference would be for this code to live outside of gaia and instead depend on gaia via npm/submodule/subtree/whatever.
Flags: needinfo?(gaye)
cc Edware, he is the QA engineer in productivity team.
Hi Gareth,

Agree, the purposes is very useful for us.

For the implementation of the test to log in Google account,
I think we could just create a new folder named "marionette_external_service" at https://github.com/mozilla-b2g/gaia/tree/master/apps/calendar/test, and add the test file there in Gaia repo.

The good points of doing this:
1. It is easier to implement then the outside of gaia solution because we don't need to rebuild a infrastructure of running marionette test.
2. It is easier to maintain because the test code live with the app code together.
3. We could reuse the test code, for example `lib/calendar.js`.

So the remaining problem is that where could we run the test? Setup a public server, or any other server already existed to run the test?

How do you think?
Hi Gareth,
How do you think about Comment 7?
Flags: needinfo?(gaye)
Ok that sounds fine to me. Let's use apps/calendar/test/interop/<provider>/
Flags: needinfo?(gaye)
Target Milestone: 1.4 S6 (25apr) → 2.0 S1 (9may)
Whiteboard: [priority], [p=3]
Depends on: 1003788
Thanks, Gareth.
We should wait for Bug 1003788 is fixed, because we refine the switchToApp method there. All tests depend on that.
Status: ASSIGNED → NEW
Target Milestone: 2.0 S1 (9may) → ---
Blocks: 1010961
[priority] --> tracking-b2g:+ conversion
tracking-b2g: --- → +
Assignee: evan → nobody
Firefox OS is not being worked on
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.