// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import {OncMojo} from 'chrome://resources/ash/common/network/onc_mojo.js';
import {NetworkStateProperties as Network} from 'chrome://resources/mojo/chromeos/services/network_config/public/mojom/cros_network_config.mojom-webui.js';
import {NetworkType} from 'chrome://resources/mojo/chromeos/services/network_config/public/mojom/network_types.mojom-webui.js';
import {CalibrationComponentStatus, CalibrationStatus, Component, ComponentRepairStatus, ComponentType, RmadErrorCode, State, StateResult} from './shimless_rma.mojom-webui.js';
export const fakeStates: StateResult[] = [
{
state: State.kWelcomeScreen,
canExit: true,
canGoBack: false,
error: RmadErrorCode.kOk,
},
{
state: State.kConfigureNetwork,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kUpdateOs,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kSelectComponents,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kChooseDestination,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kChooseWipeDevice,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kChooseWriteProtectDisableMethod,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kEnterRSUWPDisableCode,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kWaitForManualWPDisable,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kWPDisableComplete,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kUpdateRoFirmware,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kUpdateDeviceInformation,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kRestock,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kCheckCalibration,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kSetupCalibration,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kRunCalibration,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kProvisionDevice,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kWaitForManualWPEnable,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kFinalize,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kRepairComplete,
canExit: true,
canGoBack: true,
error: RmadErrorCode.kOk,
},
{
state: State.kUnknown,
canExit: false,
canGoBack: false,
error: RmadErrorCode.kOk,
},
{
state: State.kHardwareError,
canExit: false,
canGoBack: false,
error: RmadErrorCode.kOk,
},
{
state: State.kReboot,
canExit: false,
canGoBack: false,
error: RmadErrorCode.kOk,
},
];
export const fakeChromeVersion: string[] = [
'89.0.1232.1',
'92.0.999.0',
'95.0.4444.123',
];
export const fakeRsuChallengeCode =
'HRBXHV84NSTHT25WJECYQKB8SARWFTMSWNGFT2FVEEPX69VE99USV3QFBEANDVXGQVL93QK2M6P3DNV4';
export const fakeRsuChallengeQrCode: number[] =
[0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0];
export const fakeComponents: Component[] = [
{
component: ComponentType.kCamera,
state: ComponentRepairStatus.kOriginal,
identifier: 'Camera_XYZ_1',
},
{
component: ComponentType.kBattery,
state: ComponentRepairStatus.kMissing,
identifier: 'Battery_XYZ_Lithium',
},
{
component: ComponentType.kTouchpad,
state: ComponentRepairStatus.kOriginal,
identifier: 'Touchpad_XYZ_2',
},
];
// onboarding_select_components_page_test needs a components list covering all
// possible repair states.
export const fakeComponentsForRepairStateTest: Component[] = [
{
component: ComponentType.kAudioCodec,
state: ComponentRepairStatus.kMissing,
identifier: 'Audio_XYZ',
},
{
component: ComponentType.kCamera,
state: ComponentRepairStatus.kOriginal,
identifier: 'Camera_XYZ_1',
},
{
component: ComponentType.kBattery,
state: ComponentRepairStatus.kMissing,
identifier: 'Battery_XYZ_Lithium',
},
{
component: ComponentType.kTouchpad,
state: ComponentRepairStatus.kReplaced,
identifier: 'Touchpad_XYZ_2',
},
{
component: ComponentType.kStorage,
state: ComponentRepairStatus.kMissing,
identifier: 'Storage_XYZ',
},
{
component: ComponentType.kVpdCached,
state: ComponentRepairStatus.kMissing,
identifier: 'VpdCached_XYZ',
},
{
component: ComponentType.kNetwork,
state: ComponentRepairStatus.kOriginal,
identifier: 'Network_XYZ',
},
{
component: ComponentType.kCamera,
state: ComponentRepairStatus.kOriginal,
identifier: 'Camera_XYZ_2',
},
{
component: ComponentType.kTouchsreen,
state: ComponentRepairStatus.kMissing,
identifier: 'Touchscreen_XYZ',
},
];
export const fakeCalibrationComponentsWithFails: CalibrationComponentStatus[] =
[
{
component: ComponentType.kCamera,
status: CalibrationStatus.kCalibrationFailed,
progress: 0.0,
},
{
component: ComponentType.kBattery,
status: CalibrationStatus.kCalibrationComplete,
progress: 1.0,
},
{
component: ComponentType.kLidAccelerometer,
status: CalibrationStatus.kCalibrationComplete,
progress: 1.0,
},
{
component: ComponentType.kBaseAccelerometer,
status: CalibrationStatus.kCalibrationComplete,
progress: 1.0,
},
{
component: ComponentType.kTouchpad,
status: CalibrationStatus.kCalibrationComplete,
progress: 0.0,
},
{
component: ComponentType.kScreen,
status: CalibrationStatus.kCalibrationFailed,
progress: 1.0,
},
{
component: ComponentType.kBaseGyroscope,
status: CalibrationStatus.kCalibrationFailed,
progress: 1.0,
},
];
export const fakeCalibrationComponentsWithoutFails:
CalibrationComponentStatus[] = [
{
component: ComponentType.kCamera,
status: CalibrationStatus.kCalibrationComplete,
progress: 0.0,
},
{
component: ComponentType.kBattery,
status: CalibrationStatus.kCalibrationComplete,
progress: 1.0,
},
{
component: ComponentType.kBaseAccelerometer,
status: CalibrationStatus.kCalibrationComplete,
progress: 1.0,
},
{
component: ComponentType.kLidAccelerometer,
status: CalibrationStatus.kCalibrationComplete,
progress: 1.0,
},
{
component: ComponentType.kTouchpad,
status: CalibrationStatus.kCalibrationComplete,
progress: 0.0,
},
];
export const fakeNetworks: Network[] = [
OncMojo.getDefaultNetworkState(NetworkType.kWiFi, 'wifi0'),
];
export const fakeDeviceRegions: string[] = ['EMEA', 'APAC', 'AMER'];
export const fakeDeviceSkus: bigint[] = [BigInt(1), BigInt(2), BigInt(3)];
export const fakeDeviceCustomLabels: string[] =
['Custom-label 1', 'Custom-label 2', 'Custom-label 3', ''];
export const fakeDeviceSkuDescriptions: string[] = ['SKU 1', 'SKU 2', 'SKU 3'];
export const fakeLog =
'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod ' +
'tempor incididunt ut labore et dolore magna aliqua. Vitae auctor eu ' +
'augue ut lectus. Pellentesque habitant morbi tristique senectus et netus' +
' et. Felis eget nunc lobortis mattis aliquam faucibus purus. Aliquam ' +
'etiam erat velit scelerisque. Tellus rutrum tellus pellentesque eu.\n' +
'Curabitur gravida arcu ac tortor dignissim convallis aenean. Sagittis ' +
'vitae et leo duis ut diam quam. Tristique sollicitudin nibh sit amet.\n' +
'Cursus risus at ultrices mi tempus. Viverra accumsan in nisl nisi.\n' +
'Nulla porttitor massa id neque aliquam. Vulputate sapien nec sagittis ' +
'aliquam. Vel risus commodo viverra maecenas accumsan lacus vel ' +
'facilisis. Urna cursus eget nunc scelerisque viverra mauris in aliquam.' +
'\n' +
'Sed ullamcorper morbi tincidunt ornare massa eget egestas purus ' +
'viverra. Justo eget magna fermentum iaculis eu non diam.\n\n' +
'Accumsan tortor posuere ac ut consequat semper viverra nam libero.\n' +
'Potenti nullam ac tortor vitae purus faucibus ornare suspendisse sed.\n' +
'Pharetra massa massa ultricies mi quis hendrerit dolor magna eget.\n' +
'Velit egestas dui id ornare arcu odio ut. Quam pellentesque nec nam ' +
'aliquam sem et tortor consequat id. Ut aliquam purus sit amet luctus ' +
'venenatis lectus magna fringilla. Turpis massa sed elementum tempus ' +
'egestas. Sed sed risus pretium quam vulputate dignissim suspendisse in ' +
'est. Odio facilisis mauris sit amet massa vitae tortor. Purus sit amet ' +
'volutpat consequat mauris nunc congue nisi. Commodo quis imperdiet massa' +
' tincidunt nunc pulvinar. Porttitor massa id neque aliquam vestibulum ' +
'morbi. Ut consequat semper viverra nam libero justo.\n\n' +
'Ornare arcu odio ut sem nulla pharetra diam sit. Nullam eget felis eget ' +
'nunc lobortis mattis aliquam faucibus. Volutpat commodo sed egestas ' +
'egestas fringilla. Arcu felis bibendum ut tristique. Condimentum vitae ' +
'sapien pellentesque habitant morbi tristique senectus. Nisl suscipit ' +
'adipiscing bibendum est ultricies integer quis auctor elit. Nunc ' +
'aliquet bibendum enim facilisis. Cras pulvinar mattis nunc sed blandit ' +
'libero volutpat sed. Aliquam ut porttitor leo a. Ultricies lacus sed ' +
'turpis tincidunt id aliquet risus feugiat in. Magna ac placerat ' +
'vestibulum lectus mauris ultrices. Et malesuada fames ac turpis egestas ' +
'sed. Volutpat sed cras ornare arcu. Egestas egestas fringilla phasellus ' +
'faucibus. Euismod nisi porta lorem mollis aliquam ut. Ut placerat orci ' +
'nulla pellentesque dignissim enim.\n\n' +
'Integer feugiat scelerisque varius morbi enim nunc. Aenean vel elit ' +
'scelerisque mauris pellentesque pulvinar pellentesque habitant morbi.\n' +
'In iaculis nunc sed augue lacus viverra vitae congue. Mus mauris vitae ' +
'ultricies leo. Ullamcorper eget nulla facilisi etiam dignissim diam ' +
'quis. Neque viverra justo nec ultrices dui sapien eget mi proin.\n' +
'Facilisis leo vel fringilla est ullamcorper eget. Condimentum lacinia ' +
'quis vel eros. Velit sed ullamcorper morbi tincidunt ornare massa. Urna ' +
'porttitor rhoncus dolor purus non enim praesent elementum facilisis.\n' +
'Tristique et egestas quis ipsum suspendisse.\n\n' +
'Posuere lorem ipsum dolor sit amet consectetur adipiscing. Massa sapien ' +
'faucibus et molestie ac feugiat sed lectus. Nunc id cursus metus ' +
'aliquam eleifend mi in. Integer enim neque volutpat ac tincidunt vitae ' +
'semper quis. Sit amet luctus venenatis lectus magna fringilla urna ' +
'porttitor. Quis vel eros donec ac odio tempor orci dapibus. Morbi enim ' +
'nunc faucibus a pellentesque sit amet. Fusce id velit ut tortor pretium ' +
'viverra. Diam donec adipiscing tristique risus nec feugiat in fermentum ' +
'posuere. Consectetur a erat nam at lectus urna duis convallis ' +
'convallis. Hac habitasse platea dictumst vestibulum rhoncus est. Felis ' +
'eget velit aliquet sagittis id consectetur purus. Quam lacus ' +
'suspendisse faucibus interdum posuere lorem. Urna duis convallis ' +
'convallis tellus. Sed risus pretium quam vulputate dignissim ' +
'suspendisse in est ante. Consequat mauris nunc congue nisi vitae ' +
'suscipit tellus mauris. Sit amet tellus cras adipiscing enim eu.\n\n' +
'Enim nunc faucibus a pellentesque sit amet porttitor. Diam ut venenatis ' +
'tellus in. Sed pulvinar proin gravida hendrerit. Fames ac turpis ' +
'egestas sed tempus. Sed euismod nisi porta lorem. Lectus mauris ' +
'ultrices eros in. Aliquet porttitor lacus luctus accumsan tortor ' +
'posuere. Mauris a diam maecenas sed enim ut. Sed viverra tellus in hac ' +
'habitasse platea. Blandit volutpat maecenas volutpat blandit aliquam ' +
'etiam erat. Bibendum enim facilisis gravida neque convallis. Ultrices ' +
'mi tempus imperdiet nulla malesuada pellentesque elit eget gravida.\n' +
'Augue lacus viverra vitae congue eu consequat ac felis.\n\n' +
'Feugiat in fermentum posuere urna nec tincidunt. Viverra orci sagittis ' +
'eu volutpat odio. Sapien pellentesque habitant morbi tristique. Nunc ' +
'pulvinar sapien et ligula ullamcorper malesuada proin libero nunc.\n' +
'Ipsum consequat nisl vel pretium lectus quam. Sem nulla pharetra diam ' +
'sit amet nisl suscipit. Sapien faucibus et molestie ac. Magnis dis ' +
'parturient montes nascetur ridiculus mus mauris vitae. Et pharetra ' +
'pharetra massa massa ultricies mi quis. Porttitor lacus luctus accumsan ' +
'tortor posuere ac ut consequat. Gravida neque convallis a cras semper ' +
'auctor neque vitae tempus.\n\n' +
'Volutpat sed cras ornare arcu. Scelerisque varius morbi enim nunc ' +
'faucibus a pellentesque sit. Velit scelerisque in dictum non ' +
'consectetur a. Semper eget duis at tellus at urna condimentum. Massa ' +
'vitae tortor condimentum lacinia quis vel eros. Et sollicitudin ac orci ' +
'phasellus egestas. Mattis pellentesque id nibh tortor id aliquet.\n' +
'Aliquet nec ullamcorper sit amet. Non enim praesent elementum facilisis ' +
'leo vel fringilla. Et ultrices neque ornare aenean. Donec et odio ' +
'pellentesque diam volutpat. Tincidunt augue interdum velit euismod in ' +
'pellentesque massa. Vel elit scelerisque mauris pellentesque pulvinar.\n' +
'\n' +
'Amet nisl purus in mollis nunc sed. Quis risus sed vulputate odio ut ' +
'enim blandit volutpat maecenas. Vel fringilla est ullamcorper eget ' +
'nulla facilisi etiam dignissim. Elementum integer enim neque volutpat ' +
'ac tincidunt vitae semper quis. Nisi lacus sed viverra tellus in hac ' +
'habitasse platea dictumst. Elementum tempus egestas sed sed risus ' +
'pretium. Viverra maecenas accumsan lacus vel facilisis volutpat est ' +
'velit egestas. Sed felis eget velit aliquet sagittis id consectetur ' +
'purus. Massa ultricies mi quis hendrerit dolor. Faucibus a pellentesque ' +
'sit amet porttitor eget dolor morbi. Ut eu sem integer vitae. Dictum ' +
'fusce ut placerat orci nulla. Vulputate enim nulla aliquet porttitor ' +
'lacus luctus. Fames ac turpis egestas sed tempus. Venenatis a ' +
'condimentum vitae sapien pellentesque habitant morbi tristique ' +
'senectus. Sit amet commodo nulla facilisi nullam vehicula ipsum a arcu.' +
'\n' +
'Felis donec et odio pellentesque diam. Amet porttitor eget dolor morbi ' +
'non arcu. Amet massa vitae tortor condimentum lacinia quis vel.\n\n' +
'Urna condimentum mattis pellentesque id nibh tortor id aliquet lectus.\n' +
'Amet purus gravida quis blandit turpis cursus in hac habitasse. Sed ' +
'blandit libero volutpat sed cras. In eu mi bibendum neque egestas ' +
'congue quisque. Ultricies leo integer malesuada nunc vel risus commodo ' +
'viverra. At risus viverra adipiscing at in tellus. Leo vel orci porta ' +
'non pulvinar neque. Nunc sed augue lacus viverra vitae congue. Donec ac ' +
'odio tempor orci dapibus ultrices. Risus sed vulputate odio ut enim ' +
'blandit volutpat maecenas. Faucibus et molestie ac feugiat sed lectus ' +
'vestibulum. Arcu ac tortor dignissim convallis aenean et tortor. Est ' +
'ante in nibh mauris cursus mattis molestie a iaculis. Donec massa ' +
'sapien faucibus et. Velit dignissim sodales ut eu sem integer vitae.\n\n' +
'Ac odio tempor orci dapibus. Non odio euismod lacinia at. Tellus ' +
'elementum sagittis vitae et leo duis ut diam quam. Mattis rhoncus urna ' +
'neque viverra justo nec ultrices dui. Leo a diam sollicitudin tempor ' +
'id. Erat imperdiet sed euismod nisi porta lorem mollis aliquam ut.\n' +
'Aliquam ultrices sagittis orci a scelerisque purus semper eget. Lacus ' +
'vel facilisis volutpat est velit. Ornare massa eget egestas purus ' +
'viverra accumsan in. Vitae purus faucibus ornare suspendisse. Aliquam ' +
'faucibus purus in massa tempor nec feugiat nisl. Vulputate sapien nec ' +
'sagittis aliquam malesuada bibendum arcu. Sit amet volutpat consequat ' +
'mauris. Neque laoreet suspendisse interdum consectetur libero id. Est ' +
'velit egestas dui id ornare arcu odio ut sem. Sed augue lacus viverra ' +
'vitae. Scelerisque in dictum non consectetur a erat nam. Feugiat in ' +
'ante metus dictum at.\n\n' +
'Dui vivamus arcu felis bibendum ut tristique. Enim tortor at auctor ' +
'urna. Sed augue lacus viverra vitae congue eu. Enim nulla aliquet ' +
'porttitor lacus luctus accumsan tortor posuere ac. Faucibus vitae ' +
'aliquet nec ullamcorper sit amet risus nullam. Cursus risus at ultrices ' +
'mi tempus imperdiet nulla malesuada pellentesque. Amet luctus venenatis ' +
'lectus magna fringilla urna porttitor rhoncus. Volutpat lacus laoreet ' +
'non curabitur gravida arcu ac. Eget nullam non nisi est. Etiam ' +
'dignissim diam quis enim lobortis scelerisque fermentum dui. Phasellus ' +
'vestibulum lorem sed risus ultricies tristique nulla aliquet enim.\n' +
'Sagittis nisl rhoncus mattis rhoncus urna neque viverra justo nec.\n' +
'Elementum nisi quis eleifend quam adipiscing vitae.\n\n' +
'Orci ac auctor augue mauris. Quis risus sed vulputate odio ut enim.\n' +
'Vitae et leo duis ut diam quam nulla porttitor. Aliquet porttitor lacus ' +
'luctus accumsan tortor posuere ac. Condimentum mattis pellentesque id ' +
'nibh tortor. Odio morbi quis commodo odio aenean sed. Varius duis at ' +
'consectetur lorem donec massa. Sagittis vitae et leo duis. Tellus ' +
'elementum sagittis vitae et leo duis ut diam quam. Eget lorem dolor sed ' +
'viverra ipsum nunc aliquet bibendum. Quis lectus nulla at volutpat diam ' +
'ut. Auctor elit sed vulputate mi. Neque volutpat ac tincidunt vitae ' +
'semper quis. Neque vitae tempus quam pellentesque nec nam.\n\n' +
'Purus sit amet luctus venenatis lectus magna fringilla urna porttitor.\n' +
'Odio pellentesque diam volutpat commodo sed egestas egestas fringilla ' +
'phasellus. Gravida neque convallis a cras semper auctor. Nunc aliquet ' +
'bibendum enim facilisis gravida neque convallis a. In aliquam sem ' +
'fringilla ut morbi tincidunt. Sit amet est placerat in egestas erat ' +
'imperdiet sed. Aliquam malesuada bibendum arcu vitae elementum. Nunc ' +
'vel risus commodo viverra maecenas accumsan lacus vel. Auctor neque ' +
'vitae tempus quam pellentesque nec. Eget lorem dolor sed viverra ipsum ' +
'nunc aliquet bibendum enim. Odio euismod lacinia at quis risus sed ' +
'vulputate odio ut. Ut ornare lectus sit amet est placerat in egestas.\n' +
'Commodo ullamcorper a lacus vestibulum sed arcu non odio euismod.\n' +
'Placerat duis ultricies lacus sed turpis tincidunt. Quis vel eros donec ' +
'ac odio tempor orci. Scelerisque purus semper eget duis. Sapien nec ' +
'sagittis aliquam malesuada bibendum arcu vitae elementum curabitur.\n' +
'Cras fermentum odio eu feugiat pretium nibh ipsum consequat nisl.\n\n' +
'Hendrerit dolor magna eget est lorem ipsum dolor sit amet. Dictumst ' +
'vestibulum rhoncus est pellentesque elit ullamcorper. Ut consequat ' +
'semper viverra nam libero. Ipsum dolor sit amet consectetur adipiscing.' +
'\n' +
'Tristique risus nec feugiat in fermentum posuere urna nec tincidunt.\n' +
'Sit amet mauris commodo quis imperdiet massa. Varius morbi enim nunc ' +
'faucibus. Adipiscing diam donec adipiscing tristique risus nec feugiat ' +
'in fermentum. Consequat id porta nibh venenatis cras sed felis eget.\n' +
'Tellus molestie nunc non blandit massa enim nec dui. Odio morbi quis ' +
'commodo odio aenean sed adipiscing diam donec. Diam donec adipiscing ' +
'tristique risus nec. Scelerisque eu ultrices vitae auctor eu augue ut ' +
'lectus. Tellus pellentesque eu tincidunt tortor aliquam. Fermentum leo ' +
'vel orci porta non pulvinar neque laoreet suspendisse.\n';
export const fakeLogSavePath = 'fake/save/path';