# Copyright 2015 The Chromium OS Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. AUTHOR = 'pstew, kathrelkeld' NAME = 'documentscan_AppTestWithFakeLorgnette' TIME = 'SHORT' TEST_TYPE = 'client' DOC = """ This test verifies that the Chrome APIs work correctly to acquire image data from a mocked version of the lorgnette document image capture daemon. This test fails if: - The test extension cannot be installed - The extension is unable to interact with the Chrome scanning API - The Chrome scanning API cannot interact with the mock lorgnette This test is built up out of a number of interlocking components: - A chrome app that accesses the Document Scan API (in the "document_scan_test_app" directory). The test launches this app in fullscreen mode. - An emulated mouse, implemented by subclassing touch_playback_test_base and using the "amazon_mouse.prop" file. - A mouse move and button click event stream stored in the "button_click.event" file. The pair of this and the emulated mouse allows us to provide a gesture when clicking on the "Scan" button within the App. Since the Chrome document scan API requires a user gesture, this method provides a viable option as opposed to triggering the scan from javascript. - The "mock_lorgnette" module that provides a fake lorgnette daemon that the Chrome process will communicate with for the purposes of this test. It will accept the D-Bus RPC calls that Chrome makes and provide the "lorgnette-test.png" image in response to a scan request. """ job.run_test('documentscan_AppTestWithFakeLorgnette', iface_name='all', tag='all')