New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 626343 link

Starred by 1 user

Issue metadata

Status: Started
Owner:
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

Need browser test for end-to-end testing of login screen apps

Project Member Reported by achuith@chromium.org, Jul 7 2016

Issue description

Need a browser test that will
1. Apply the LoginApps device policy to an instance of chromeos-chrome.
2. Use the fake webstore to install an app on the login screen.
3. Ensure that the app is running in the login screen.


 

Comment 1 by emaxx@chromium.org, Aug 30 2016

Cc: -antrim@chromium.org achuith@chromium.org
Owner: antrim@chromium.org
Owner: emaxx@chromium.org
Summary: Need browser test for end-to-end testing of login screen apps (was: Need browser test for end-to-end testing of login apps)
Project Member

Comment 3 by bugdroid1@chromium.org, May 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d54208b027fb61e6123a978e4e6145250fc18964

commit d54208b027fb61e6123a978e4e6145250fc18964
Author: emaxx <emaxx@chromium.org>
Date: Thu May 04 14:45:26 2017

Smoke test for login screen apps

Add a minimum test that only enables the login screen apps functionality
via the command line flag. The purpose of this test is to investigate
whether just specifying this command line flag may lead to tests being
timed out. The plan is to remove this test once this investigation
finishes, in favor of more complete end-to-end tests.

BUG=626343

Review-Url: https://codereview.chromium.org/2861723002
Cr-Commit-Position: refs/heads/master@{#469330}

[add] https://crrev.com/d54208b027fb61e6123a978e4e6145250fc18964/chrome/browser/chromeos/policy/signin_profile_apps_policy_browsertest.cc
[modify] https://crrev.com/d54208b027fb61e6123a978e4e6145250fc18964/chrome/test/BUILD.gn

Comment 4 by emaxx@chromium.org, May 4 2017

Status: Started (was: Assigned)
Project Member

Comment 5 by bugdroid1@chromium.org, May 10 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/044dbd1b936309e5cc73c52280a73336364d46ec

commit 044dbd1b936309e5cc73c52280a73336364d46ec
Author: emaxx <emaxx@chromium.org>
Date: Wed May 10 11:19:58 2017

Add an end-to-end test for sign-in profile apps installation

This adds several browser tests for the sign-in profile apps
installation via the device policy. These tests cover the crucial parts
of this functionality: obtaining the list of apps to be installed from
the device policy, fetching the apps' update manifests, fetching apps'
CRX packages, installing them and launching.

The tests also check that extensions (as opposed to apps) are not
allowed to be installed in the sign-in profile, and that non-whitelisted
apps are accepted only on specific browser channels.

Also a new test app is introduced and whitelisted for the execution in
the sign-in profile. The test app is also published on WebStore (so that
it can be safely maintained and used without leaking the private key).
This app is planned to be used for the manual testing too.

BUG=626343
TEST=new browser tests

Review-Url: https://codereview.chromium.org/2865063003
Cr-Commit-Position: refs/heads/master@{#470530}

[modify] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/browser/chromeos/policy/signin_profile_apps_policy_browsertest.cc
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/signin_screen_test_app/README
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/signin_screen_test_app/app.crx
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/signin_screen_test_app/app/background.js
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/signin_screen_test_app/app/manifest.json
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/signin_screen_test_app/update_manifest.xml
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/trivial_extension/README
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/trivial_extension/extension.crx
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/trivial_extension/extension.pem
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/trivial_extension/extension/background.js
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/trivial_extension/extension/manifest.json
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/trivial_extension/update_manifest.xml
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/trivial_platform_app/README
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/trivial_platform_app/app.crx
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/trivial_platform_app/app.pem
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/trivial_platform_app/app/background.js
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/trivial_platform_app/app/manifest.json
[add] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/chrome/test/data/extensions/trivial_platform_app/update_manifest.xml
[modify] https://crrev.com/044dbd1b936309e5cc73c52280a73336364d46ec/extensions/common/api/_behavior_features.json

Project Member

Comment 6 by bugdroid1@chromium.org, May 11 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a9ad5af20477742a1d287dfb9a7fbbfd63354082

commit a9ad5af20477742a1d287dfb9a7fbbfd63354082
Author: emaxx <emaxx@chromium.org>
Date: Thu May 11 23:15:26 2017

Implement the sign-in screen test app for manual testing

The test app allows to perform the following manual testing when
installed through the DeviceLoginScreenAppInstallList device policy into
the Chrome OS sign-in profile:
* Click "Add user" and type the username on the test domain;
* The certificate selection dialog pops out, containing the certificate
  provided by the test app;
* After selecting the certificate, the PIN dialog appears;
* Wrongly typed PIN results in keeping the dialog displayed, but now
  with an additional error message;
* Correctly typed PIN hides the PIN dialog, and moves the login process
  forward;
* Afterwards, the login process is expected to fail, as the test app
  doesn't implement the real signing operation and responds with a
  garbage data.

BUG=626343
TEST=manual - install the app through the device policy via YAPS and
     follow the test steps described above
TBR=achuith@

Review-Url: https://codereview.chromium.org/2873973004
Cr-Commit-Position: refs/heads/master@{#471114}

[modify] https://crrev.com/a9ad5af20477742a1d287dfb9a7fbbfd63354082/chrome/test/data/extensions/signin_screen_test_app/app/background.js
[modify] https://crrev.com/a9ad5af20477742a1d287dfb9a7fbbfd63354082/chrome/test/data/extensions/signin_screen_test_app/app/manifest.json

Project Member

Comment 7 by bugdroid1@chromium.org, May 20 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2ae3a0a699cdb174ed7646ba10597f84bbb496ff

commit 2ae3a0a699cdb174ed7646ba10597f84bbb496ff
Author: emaxx <emaxx@chromium.org>
Date: Sat May 20 02:54:36 2017

Fix losing of scoped feature channel in tests when it's equal to stable

This fixes the issue with the value set by ScopedCurrentChannel
potentially being overwritten by the browser process initialization
code.

This could happen when the ScopedCurrentChannel instance was constructed
with the default channel (that is, the STABLE channel) before the browser
initialization code happens, as the latter would then assume that the channel
wasn't set before and overwrite it.

This issue means that it was impossible to set up the STABLE channel in
the browser test in the setup code that runs before the browser initialization,
unless the building environment was configured to be stable.

BUG=none, 626343
TEST=existing tests

Review-Url: https://codereview.chromium.org/2854293003
Cr-Commit-Position: refs/heads/master@{#473402}

[modify] https://crrev.com/2ae3a0a699cdb174ed7646ba10597f84bbb496ff/chrome/browser/extensions/chrome_extensions_browser_client.cc
[modify] https://crrev.com/2ae3a0a699cdb174ed7646ba10597f84bbb496ff/extensions/common/features/feature_channel.cc
[modify] https://crrev.com/2ae3a0a699cdb174ed7646ba10597f84bbb496ff/extensions/common/features/feature_channel.h

Project Member

Comment 8 by bugdroid1@chromium.org, May 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/c10897ae286264903b22087b4d5d6372e62e1ca3

commit c10897ae286264903b22087b4d5d6372e62e1ca3
Author: Maksim Ivanov <emaxx@chromium.org>
Date: Mon May 22 19:24:42 2017

Add test for sign-in screen apps policy on Stable channel

Enable the end-to-end test of sign-in profile apps installation with the
Stable browser channel.

This test wasn't performed with the Stable channel previously due to a
bug in processing of one the required test mocks - see
https://crrev.com/2854293003. Now that it's fixed, the test should work
on that channel.

Bug: chromium:626343
Change-Id: I739027357f94828cf93a5332ce00705e81e0a6ec
Reviewed-on: https://chromium-review.googlesource.com/509532
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Commit-Queue: Maksim Ivanov <emaxx@chromium.org>
Cr-Commit-Position: refs/heads/master@{#473654}
[modify] https://crrev.com/c10897ae286264903b22087b4d5d6372e62e1ca3/chrome/browser/chromeos/policy/signin_profile_apps_policy_browsertest.cc

Project Member

Comment 9 by bugdroid1@chromium.org, May 22 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/55585f6f526153baaced20d2b684eb8b2ee418e7

commit 55585f6f526153baaced20d2b684eb8b2ee418e7
Author: Maksim Ivanov <emaxx@chromium.org>
Date: Mon May 22 21:53:26 2017

Rename signin_screen_test_app to signin_screen_manual_test_app

It's better to leave this test app mainly for the manual testing
purposes and for the whitelist tests, but place the code for the
automated tests in another test app. The reason for that is the
complexity of updating it: besides changes in the source tree, each
updated version has to be published on the Web Store and then the CRX
file has to be fetched from it.

Therefore this CL makes this decision explicit by reflecting it in the
file names, readme file and the constant names.

Also an OWNERS file is introduced for it, in order to make the
ownership of this code clearer.

Bug: chromium:626343
Change-Id: Ic644b55379c45fa2da79db2df2e65c802778a2cc
Reviewed-on: https://chromium-review.googlesource.com/509512
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Commit-Queue: Maksim Ivanov <emaxx@chromium.org>
Cr-Commit-Position: refs/heads/master@{#473716}
[modify] https://crrev.com/55585f6f526153baaced20d2b684eb8b2ee418e7/chrome/browser/chromeos/policy/signin_profile_apps_policy_browsertest.cc
[add] https://crrev.com/55585f6f526153baaced20d2b684eb8b2ee418e7/chrome/test/data/extensions/signin_screen_manual_test_app/OWNERS
[add] https://crrev.com/55585f6f526153baaced20d2b684eb8b2ee418e7/chrome/test/data/extensions/signin_screen_manual_test_app/README
[rename] https://crrev.com/55585f6f526153baaced20d2b684eb8b2ee418e7/chrome/test/data/extensions/signin_screen_manual_test_app/app/background.js
[add] https://crrev.com/55585f6f526153baaced20d2b684eb8b2ee418e7/chrome/test/data/extensions/signin_screen_manual_test_app/app/manifest.json
[rename] https://crrev.com/55585f6f526153baaced20d2b684eb8b2ee418e7/chrome/test/data/extensions/signin_screen_manual_test_app/app_signed_by_webstore.crx
[add] https://crrev.com/55585f6f526153baaced20d2b684eb8b2ee418e7/chrome/test/data/extensions/signin_screen_manual_test_app/update_manifest.xml
[delete] https://crrev.com/f285a784f8a21236d5c17dc4576306844654ffee/chrome/test/data/extensions/signin_screen_test_app/README
[delete] https://crrev.com/f285a784f8a21236d5c17dc4576306844654ffee/chrome/test/data/extensions/signin_screen_test_app/app/manifest.json
[delete] https://crrev.com/f285a784f8a21236d5c17dc4576306844654ffee/chrome/test/data/extensions/signin_screen_test_app/update_manifest.xml

Project Member

Comment 10 by bugdroid1@chromium.org, May 23 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/f29aa27f64bf040b7e7fa7b4d894cb1a1ff31de6

commit f29aa27f64bf040b7e7fa7b4d894cb1a1ff31de6
Author: Maksim Ivanov <emaxx@chromium.org>
Date: Tue May 23 15:47:16 2017

Make all keys of chrome.test.getConfig optional

This makes the "testDataDirectory" and the "testWebSocketPort" keys
being optional in the test config that can be accessed via the
chrome.test.getConfig method.

This allows to skip filling of these keys with some fake values in tests
that are not inherited from ExtensionApiTest.

Bug: chromium:626343
Change-Id: I142ddc22af7b798bc93484086a42b39d5fbd466d
Reviewed-on: https://chromium-review.googlesource.com/511142
Reviewed-by: Finnur Thorarinsson <finnur@chromium.org>
Commit-Queue: Maksim Ivanov <emaxx@chromium.org>
Cr-Commit-Position: refs/heads/master@{#473914}
[modify] https://crrev.com/f29aa27f64bf040b7e7fa7b4d894cb1a1ff31de6/chrome/browser/extensions/extension_apitest.cc
[modify] https://crrev.com/f29aa27f64bf040b7e7fa7b4d894cb1a1ff31de6/extensions/browser/guest_view/web_view/web_view_apitest.cc
[modify] https://crrev.com/f29aa27f64bf040b7e7fa7b4d894cb1a1ff31de6/extensions/common/api/test.json

Components: -UI>Shell>OOBE UI>Shell>StartScreen
Is anything left on this bug, or can we close?
Labels: Hotlist-auth-tests

Sign in to add a comment