def testSetBinhostMismatchedKey(self):
     """SetBinhost rejects existing conf files with a mismatched key."""
     conf_path = os.path.join(self.private_conf_dir,
                              'bad-key-GOOD_KEY.conf')
     osutils.WriteFile(conf_path, 'BAD_KEY="https://foo.bar"')
     with self.assertRaises(KeyError):
         binhost.SetBinhost('bad-key', 'GOOD_KEY', 'gs://blah')
 def testSetBinhostMultilineConf(self):
     """SetBinhost rejects existing multiline conf files."""
     conf_path = os.path.join(self.private_conf_dir,
                              'multi-BINHOST_KEY.conf')
     osutils.WriteFile(conf_path, '\n'.join(['A="foo"', 'B="bar"']))
     with self.assertRaises(ValueError):
         binhost.SetBinhost('multi', 'BINHOST_KEY', 'gs://blah')
 def testSetBinhostEmptyConf(self):
     """SetBinhost rejects existing but empty conf files."""
     conf_path = os.path.join(self.private_conf_dir,
                              'multi-BINHOST_KEY.conf')
     osutils.WriteFile(conf_path, ' ')
     with self.assertRaises(ValueError):
         binhost.SetBinhost('multi', 'BINHOST_KEY', 'gs://blah')
 def testSetBinhostPrivate(self):
     """SetBinhost returns correct private path and updates conf file."""
     actual = binhost.SetBinhost('coral', 'BINHOST_KEY', 'gs://prebuilts')
     expected = os.path.join(self.private_conf_dir,
                             'coral-BINHOST_KEY.conf')
     self.assertEqual(actual, expected)
     self.assertEqual(osutils.ReadFile(actual),
                      'BINHOST_KEY="gs://prebuilts"')
示例#5
0
def SetBinhost(input_proto, output_proto, _config):
    """Set the URI for a given binhost key and build target.

  See BinhostService documentation in api/proto/binhost.proto.

  Args:
    input_proto (SetBinhostRequest): The input proto.
    output_proto (SetBinhostResponse): The output proto.
    _config (api_config.ApiConfig): The API call config.
  """
    target = input_proto.build_target.name
    key = binhost_pb2.BinhostKey.Name(input_proto.key)
    uri = input_proto.uri
    private = input_proto.private

    output_proto.output_file = binhost.SetBinhost(target,
                                                  key,
                                                  uri,
                                                  private=private)
 def testSetBinhhostBadConfLine(self):
     """SetBinhost rejects existing conf files with malformed lines."""
     conf_path = os.path.join(self.private_conf_dir, 'bad-BINHOST_KEY.conf')
     osutils.WriteFile(conf_path, 'bad line')
     with self.assertRaises(ValueError):
         binhost.SetBinhost('bad', 'BINHOST_KEY', 'gs://blah')