def test_dimensions(self): dims = [ common_pb2.RequestedDimension(key='d', value='1'), common_pb2.RequestedDimension(key='d', value='1', expiration=dict(seconds=60)), ] build = self.add(dict(dimensions=dims)) infra = model.BuildInfra.key_for(build.key).get().parse() self.assertEqual(list(infra.buildbucket.requested_dimensions), dims) self.assertEqual(list(infra.swarming.task_dimensions), dims)
def test_dimensions_in_builder(self): with self.mutate_builder_cfg() as cfg: cfg.dimensions[:] = [ '60:a:0', '0:a:1', 'b:0', 'tombstone:', ] dims = [ common_pb2.RequestedDimension(key='b', value='1', expiration=dict(seconds=60)), common_pb2.RequestedDimension(key='d', value='1'), ] build = self.add(dict(dimensions=dims)) infra = model.BuildInfra.key_for(build.key).get().parse() self.assertEqual(list(infra.buildbucket.requested_dimensions), dims) self.assertEqual(list(infra.swarming.task_dimensions), [ common_pb2.RequestedDimension( key='a', value='1', expiration=dict(seconds=0), ), common_pb2.RequestedDimension( key='a', value='0', expiration=dict(seconds=60), ), common_pb2.RequestedDimension( key='b', value='1', expiration=dict(seconds=60), ), common_pb2.RequestedDimension(key='d', value='1'), ])
def test_valid_with_caches(self): msg = common_pb2.RequestedDimension(key='caches', value='b') self.assert_invalid(msg, r'key: "caches" is invalid')
def test_valid_with_no_value(self): msg = common_pb2.RequestedDimension(key='a', value='') self.assert_invalid(msg, r'value: required')
def test_valid_with_expiration(self): msg = common_pb2.RequestedDimension(key='a', value='b', expiration=dict(seconds=60)) self.assert_valid(msg)
def test_valid(self): msg = common_pb2.RequestedDimension(key='a', value='b') self.assert_valid(msg)
def test_valid_with_nanos(self): msg = common_pb2.RequestedDimension(key='a', value='b', expiration=dict(nanos=1)) self.assert_invalid(msg, r'nanos: must be 0')
def test_valid_with_42_seconds(self): msg = common_pb2.RequestedDimension(key='a', value='b', expiration=dict(seconds=42)) self.assert_invalid(msg, r'seconds: must be a multiple of 60')
def test_valid_with_negative_seconds(self): msg = common_pb2.RequestedDimension(key='a', value='b', expiration=dict(seconds=-1)) self.assert_invalid(msg, r'seconds: must not be negative')
def test_valid_with_pool(self): msg = common_pb2.RequestedDimension(key='pool', value='b') self.assert_invalid(msg, r'key: "pool" is not allowed')