blob: 178d79d3bdcdedc99e393093b6676d0770894bc6 [file] [log] [blame]
# Copyright (c) 2011 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.
"""Module containing a fake au worker class."""
import unittest
import cros_build_lib as cros_lib
import au_worker
class DummyAUWorker(au_worker.AUWorker):
"""AU worker that emulates work for an au_worker without actually doing work.
Collects different updates that would be generated that can be obtained
from the class object delta_list.
# Class variable that stores the list of payloads that would be needed.
delta_list = {}
def __init__(self, options, test_results_root):
super(DummyAUWorker, self).__init__(options, test_results_root)
self.au_type = options.type
def PrepareBase(self, image_path):
"""Copy how the actual worker would prepare the base image."""
if self.au_type == 'vm':
def UpdateImage(self, image_path, src_image_path='', stateful_change='old',
proxy_port=None, private_key_path=None):
"""Emulate Update and record the update payload in delta_list."""
if self.au_type == 'vm' and src_image_path and self._first_update:
src_image_path = self.vm_image_path
self._first_update = False
# Generate a value that combines delta with private key path.
val = src_image_path
if private_key_path: val = '%s+%s' % (val, private_key_path)
if not self.delta_list.has_key(image_path):
self.delta_list[image_path] = set([val])