blob: a5caf5d62cc277e04503d6ef06ed3decfe0c7b93 [file] [log] [blame]
# Copyright 2017 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.
"""Unittests for builder_status_lib."""
from __future__ import print_function
from chromite.lib import builder_status_lib
from chromite.lib import constants
from chromite.lib import cros_test_lib
from chromite.lib import failures_lib
# pylint: disable=protected-access
class BuilderStatusManagerTest(cros_test_lib.MockTestCase):
"""Tests for BuilderStatusManager."""
def testUnpickleBuildStatus(self):
"""Tests that _UnpickleBuildStatus returns the correct values."""
failed_msg = failures_lib.BuildFailureMessage(
'you failed', ['traceback'], True, 'taco', 'bot')
failed_input_status = builder_status_lib.BuilderStatus(
constants.BUILDER_STATUS_FAILED, failed_msg)
passed_input_status = builder_status_lib.BuilderStatus(
constants.BUILDER_STATUS_PASSED, None)
failed_output_status = (
builder_status_lib.BuilderStatusManager._UnpickleBuildStatus(
failed_input_status.AsPickledDict()))
passed_output_status = (
builder_status_lib.BuilderStatusManager._UnpickleBuildStatus(
passed_input_status.AsPickledDict()))
empty_string_status = (
builder_status_lib.BuilderStatusManager._UnpickleBuildStatus(''))
self.assertEqual(failed_input_status.AsFlatDict(),
failed_output_status.AsFlatDict())
self.assertEqual(passed_input_status.AsFlatDict(),
passed_output_status.AsFlatDict())
self.assertTrue(empty_string_status.Failed())