blob: fa1bee042a5b37b9d3889fff6b2d9ffa7cf82860 [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 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):
au_worker.AUWorker.__init__(self, 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':
self.PrepareVMBase(image_path)
else:
self.PrepareRealBase(image_path)
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])
else:
self.delta_list[image_path].add(val)