blob: c4ffe20c84480eb70ce22d1875baa02783595c9c [file] [log] [blame]
#!/usr/bin/env python
# Copyright 2016 The LUCI Authors. All rights reserved.
# Use of this source code is governed under the Apache License, Version 2.0
# that can be found in the LICENSE file.
import os
import sys
import unittest
ROOT_DIR = os.path.dirname(os.path.abspath(os.path.join(
__file__, os.pardir, os.pardir, os.pardir)))
sys.path.insert(0, ROOT_DIR)
from libs.logdog import bootstrap
class BootstrapTestCase(unittest.TestCase):
def setUp(self):
self.env = {
bootstrap.ButlerBootstrap._ENV_PROJECT: 'test-project',
bootstrap.ButlerBootstrap._ENV_PREFIX: 'foo/bar',
bootstrap.ButlerBootstrap._ENV_STREAM_SERVER_PATH: 'fake:path',
}
def testProbeSucceeds(self):
bs = bootstrap.ButlerBootstrap.probe(self.env)
self.assertEqual(bs, bootstrap.ButlerBootstrap(
project='test-project',
prefix='foo/bar',
streamserver_uri='fake:path'))
def testProbeNoBootstrapRaisesError(self):
self.assertRaises(bootstrap.NotBootstrappedError,
bootstrap.ButlerBootstrap.probe, env={})
def testProbeMissingProjectRaisesError(self):
self.env.pop(bootstrap.ButlerBootstrap._ENV_PROJECT)
self.assertRaises(bootstrap.NotBootstrappedError,
bootstrap.ButlerBootstrap.probe, env=self.env)
def testProbeMissingPrefixRaisesError(self):
self.env.pop(bootstrap.ButlerBootstrap._ENV_PREFIX)
self.assertRaises(bootstrap.NotBootstrappedError,
bootstrap.ButlerBootstrap.probe, env=self.env)
def testProbeInvalidPrefixRaisesError(self):
self.env[bootstrap.ButlerBootstrap._ENV_PREFIX] = '!!! not valid !!!'
self.assertRaises(bootstrap.NotBootstrappedError,
bootstrap.ButlerBootstrap.probe, env=self.env)
if __name__ == '__main__':
unittest.main()