def testFailsIfPackageNameMissing(self): """Fails if package_name is missing.""" self.input_proto.package_name = '' with self.assertRaises(cros_build_lib.DieSystemExit): android.MarkStable(self.input_proto, self.response, self.api_config) self.uprev.assert_not_called()
def testFailsIfAndroidBuildBranchMissing(self): """Fails if android_build_branch is missing.""" self.input_proto.android_build_branch = '' with self.assertRaises(cros_build_lib.DieSystemExit): android.MarkStable(self.input_proto, self.response, self.api_config) self.uprev.assert_not_called()
def testMockCall(self): """Test that a mock call does not execute logic, returns mocked value.""" android.MarkStable(self.input_proto, self.response, self.mock_call_config) self.uprev.assert_not_called() self.assertEqual(self.response.status, android_pb2.MARK_STABLE_STATUS_SUCCESS) self.assertEqual(self.response.android_atom.category, 'category') self.assertEqual(self.response.android_atom.package_name, 'android-package-name') self.assertEqual(self.response.android_atom.version, '1.2')
def testHandlesEarlyExit(self): """Test that early exit is handled correctly.""" self.input_proto.android_version = 'android-version' self.uprev.return_value = '' android.MarkStable(self.input_proto, self.response, self.api_config) self.uprev.assert_called_once_with( tracking_branch=self.input_proto.tracking_branch, android_package=self.input_proto.package_name, android_build_branch=self.input_proto.android_build_branch, chroot=mock.ANY, build_targets=self.build_targets, android_version=self.input_proto.android_version) self.assertEqual(self.response.status, android_pb2.MARK_STABLE_STATUS_EARLY_EXIT)
def testCallsCommandCorrectly(self): """Test that commands.MarkAndroidAsStable is called correctly.""" self.input_proto.android_version = 'android-version' self.uprev.return_value = 'cat/android-1.2.3' atom = common_pb2.PackageInfo() atom.category = 'cat' atom.package_name = 'android' atom.version = '1.2.3' android.MarkStable(self.input_proto, self.response, self.api_config) self.uprev.assert_called_once_with( tracking_branch=self.input_proto.tracking_branch, android_package=self.input_proto.package_name, android_build_branch=self.input_proto.android_build_branch, chroot=mock.ANY, build_targets=self.build_targets, android_version=self.input_proto.android_version) self.assertEqual(self.response.android_atom, atom) self.assertEqual(self.response.status, android_pb2.MARK_STABLE_STATUS_SUCCESS)
def testHandlesPinnedUprevError(self): """Test that pinned error is handled correctly.""" self.input_proto.android_version = 'android-version' self.uprev.side_effect = packages.AndroidIsPinnedUprevError( 'pin/xx-1.1') atom = common_pb2.PackageInfo() atom.category = 'pin' atom.package_name = 'xx' atom.version = '1.1' android.MarkStable(self.input_proto, self.response, self.api_config) self.uprev.assert_called_once_with( tracking_branch=self.input_proto.tracking_branch, android_package=self.input_proto.package_name, android_build_branch=self.input_proto.android_build_branch, chroot=mock.ANY, build_targets=self.build_targets, android_version=self.input_proto.android_version) self.assertEqual(self.response.android_atom, atom) self.assertEqual(self.response.status, android_pb2.MARK_STABLE_STATUS_PINNED)
def testValidateOnly(self): """Sanity check that a validate only call does not execute any logic.""" android.MarkStable(self.input_proto, self.response, self.validate_only_config) self.uprev.assert_not_called()