1*61c4878aSAndroid Build Coastguard Worker#!/usr/bin/env python3 2*61c4878aSAndroid Build Coastguard Worker# Copyright 2023 The Pigweed Authors 3*61c4878aSAndroid Build Coastguard Worker# 4*61c4878aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); you may not 5*61c4878aSAndroid Build Coastguard Worker# use this file except in compliance with the License. You may obtain a copy of 6*61c4878aSAndroid Build Coastguard Worker# the License at 7*61c4878aSAndroid Build Coastguard Worker# 8*61c4878aSAndroid Build Coastguard Worker# https://www.apache.org/licenses/LICENSE-2.0 9*61c4878aSAndroid Build Coastguard Worker# 10*61c4878aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 11*61c4878aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12*61c4878aSAndroid Build Coastguard Worker# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13*61c4878aSAndroid Build Coastguard Worker# License for the specific language governing permissions and limitations under 14*61c4878aSAndroid Build Coastguard Worker# the License. 15*61c4878aSAndroid Build Coastguard Worker"""Tests for presubmit context classes.""" 16*61c4878aSAndroid Build Coastguard Worker 17*61c4878aSAndroid Build Coastguard Workerimport unittest 18*61c4878aSAndroid Build Coastguard Worker 19*61c4878aSAndroid Build Coastguard Workerfrom pw_presubmit import presubmit_context 20*61c4878aSAndroid Build Coastguard Worker 21*61c4878aSAndroid Build Coastguard Worker 22*61c4878aSAndroid Build Coastguard Workerclass ContextTest(unittest.TestCase): 23*61c4878aSAndroid Build Coastguard Worker """Tests for presubmit context classes.""" 24*61c4878aSAndroid Build Coastguard Worker 25*61c4878aSAndroid Build Coastguard Worker def test_presubmitcontext(self): # pylint: disable=no-self-use 26*61c4878aSAndroid Build Coastguard Worker _ = presubmit_context.PresubmitContext.create_for_testing() 27*61c4878aSAndroid Build Coastguard Worker 28*61c4878aSAndroid Build Coastguard Worker def test_lucicontext(self): 29*61c4878aSAndroid Build Coastguard Worker ctx = presubmit_context.LuciContext.create_for_testing( 30*61c4878aSAndroid Build Coastguard Worker BUILDBUCKET_ID='88123', 31*61c4878aSAndroid Build Coastguard Worker BUILDBUCKET_NAME='project:bucket.dev.ci:builder-linux', 32*61c4878aSAndroid Build Coastguard Worker BUILD_NUMBER='12', 33*61c4878aSAndroid Build Coastguard Worker SWARMING_SERVER='https://chrome-swarming.appspot.com', 34*61c4878aSAndroid Build Coastguard Worker SWARMING_TASK_ID='123def', 35*61c4878aSAndroid Build Coastguard Worker ) 36*61c4878aSAndroid Build Coastguard Worker 37*61c4878aSAndroid Build Coastguard Worker self.assertEqual(ctx.buildbucket_id, 88123) 38*61c4878aSAndroid Build Coastguard Worker self.assertEqual(ctx.build_number, 12) 39*61c4878aSAndroid Build Coastguard Worker self.assertEqual(ctx.project, 'project') 40*61c4878aSAndroid Build Coastguard Worker self.assertEqual(ctx.bucket, 'bucket.dev.ci') 41*61c4878aSAndroid Build Coastguard Worker self.assertEqual(ctx.builder, 'builder-linux') 42*61c4878aSAndroid Build Coastguard Worker self.assertEqual( 43*61c4878aSAndroid Build Coastguard Worker ctx.swarming_server, 44*61c4878aSAndroid Build Coastguard Worker 'https://chrome-swarming.appspot.com', 45*61c4878aSAndroid Build Coastguard Worker ) 46*61c4878aSAndroid Build Coastguard Worker self.assertEqual(ctx.swarming_task_id, '123def') 47*61c4878aSAndroid Build Coastguard Worker self.assertEqual( 48*61c4878aSAndroid Build Coastguard Worker ctx.cas_instance, 49*61c4878aSAndroid Build Coastguard Worker 'projects/chrome-swarming/instances/default_instance', 50*61c4878aSAndroid Build Coastguard Worker ) 51*61c4878aSAndroid Build Coastguard Worker 52*61c4878aSAndroid Build Coastguard Worker self.assertFalse(ctx.is_try) 53*61c4878aSAndroid Build Coastguard Worker self.assertTrue(ctx.is_ci) 54*61c4878aSAndroid Build Coastguard Worker self.assertTrue(ctx.is_dev) 55*61c4878aSAndroid Build Coastguard Worker self.assertFalse(ctx.is_shadow) 56*61c4878aSAndroid Build Coastguard Worker self.assertFalse(ctx.is_prod) 57*61c4878aSAndroid Build Coastguard Worker 58*61c4878aSAndroid Build Coastguard Worker def test_lucitrigger(self): 59*61c4878aSAndroid Build Coastguard Worker trigger = presubmit_context.LuciTrigger.create_for_testing( 60*61c4878aSAndroid Build Coastguard Worker number=1234, 61*61c4878aSAndroid Build Coastguard Worker patchset=5, 62*61c4878aSAndroid Build Coastguard Worker remote='https://pigweed-internal.googlesource.com/pigweed', 63*61c4878aSAndroid Build Coastguard Worker project='pigweed', 64*61c4878aSAndroid Build Coastguard Worker branch='main', 65*61c4878aSAndroid Build Coastguard Worker ref='refs/changes/34/1234/5', 66*61c4878aSAndroid Build Coastguard Worker gerrit_name='pigweed-internal', 67*61c4878aSAndroid Build Coastguard Worker submitted=False, 68*61c4878aSAndroid Build Coastguard Worker )[0] 69*61c4878aSAndroid Build Coastguard Worker 70*61c4878aSAndroid Build Coastguard Worker self.assertEqual( 71*61c4878aSAndroid Build Coastguard Worker trigger.gerrit_host, 72*61c4878aSAndroid Build Coastguard Worker 'https://pigweed-internal-review.googlesource.com', 73*61c4878aSAndroid Build Coastguard Worker ) 74*61c4878aSAndroid Build Coastguard Worker self.assertEqual( 75*61c4878aSAndroid Build Coastguard Worker trigger.gerrit_url, 76*61c4878aSAndroid Build Coastguard Worker 'https://pigweed-internal-review.googlesource.com/c/1234', 77*61c4878aSAndroid Build Coastguard Worker ) 78*61c4878aSAndroid Build Coastguard Worker self.assertEqual( 79*61c4878aSAndroid Build Coastguard Worker trigger.gitiles_url, 80*61c4878aSAndroid Build Coastguard Worker 'https://pigweed-internal.googlesource.com/pigweed/+/' 81*61c4878aSAndroid Build Coastguard Worker 'refs/changes/34/1234/5', 82*61c4878aSAndroid Build Coastguard Worker ) 83*61c4878aSAndroid Build Coastguard Worker 84*61c4878aSAndroid Build Coastguard Worker 85*61c4878aSAndroid Build Coastguard Workerif __name__ == '__main__': 86*61c4878aSAndroid Build Coastguard Worker unittest.main() 87