Exemplo n.º 1
0
    def test_no_warnigs_check(self):
        with assertNotProducesWarnings(SomeWarning):
            pass

        with ignoreWarning(OtherWarning):
            with assertNotProducesWarnings(SomeWarning):
                warnings.warn("msg 3", OtherWarning)
Exemplo n.º 2
0
    def test_RemoteShellCommand_usePTY(self):
        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            cmd = remotecommand.RemoteShellCommand(
                'workdir', 'command')

        self.assertTrue(cmd.args['usePTY'] is None)

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            cmd = remotecommand.RemoteShellCommand(
                'workdir', 'command', usePTY=True)

        self.assertTrue(cmd.args['usePTY'])

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            cmd = remotecommand.RemoteShellCommand(
                'workdir', 'command', usePTY=False)

        self.assertFalse(cmd.args['usePTY'])

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'slave-config' value of 'usePTY' "
                                "attribute is deprecated"):
            cmd = remotecommand.RemoteShellCommand(
                'workdir', 'command', usePTY='slave-config')

        self.assertTrue(cmd.args['usePTY'] is None)
Exemplo n.º 3
0
    def test_attribute_setter(self):
        class C(WorkerAPICompatMixin):

            def __init__(self):
                self.workers = None
                self._registerOldWorkerAttr("workers", name="buildslaves")

                self.workernames = None
                self._registerOldWorkerAttr("workernames")

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            c = C()

            c.workers = [1, 2, 3]
            c.workernames = ["a", "b", "c"]

        self.assertEqual(c.workers, [1, 2, 3])
        self.assertEqual(c.workernames, ["a", "b", "c"])

        with assertProducesWarning(DeprecatedWorkerNameWarning):
            c.buildslaves = [1, 2, 3]
        self.assertEqual(c.workers, [1, 2, 3])

        with assertProducesWarning(DeprecatedWorkerNameWarning):
            c.slavenames = ["a", "b", "c"]
        self.assertEqual(c.workernames, ["a", "b", "c"])
Exemplo n.º 4
0
 def test_new_api_thirdparty(self):
     # Third party plugins that use new API should work only through
     # new API.
     with assertProducesWarning(DeprecatedWorkerNameWarning, message_pattern="namespace is deprecated"):
         self.assertRaises(AttributeError, lambda: self.buildslave_ns.newthirdparty)
     with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
         self.assertTrue(self.worker_ns.newthirdparty is ClassWithInterface)
Exemplo n.º 5
0
    def test_module_reload(self):
        Worker = type("Worker", (object,), {})
        buildbot_module = new.module('buildbot_module')
        buildbot_module.Worker = Worker
        with mock.patch.dict(sys.modules,
                             {'buildbot_module': buildbot_module}):
            scope = buildbot_module.__dict__
            deprecatedWorkerModuleAttribute(scope, Worker)
            # Overwrite with Twisted's module wrapper.
            import buildbot_module

            # Module reload is effectively re-run of module contents.
            Worker = type("Worker", (object,), {})
            buildbot_module.Worker = Worker
            scope = buildbot_module.__dict__
            deprecatedWorkerModuleAttribute(scope, Worker)
            # Overwrite with Twisted's module wrapper.
            import buildbot_module

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            W = buildbot_module.Worker
        self.assertIdentical(W, Worker)

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern=r"buildbot_module\.Slave was deprecated in "
                                r"Buildbot 0.9.0: Use Worker instead."):
            S = buildbot_module.Slave
        self.assertIdentical(S, Worker)
Exemplo n.º 6
0
 def test_new_api_thirdparty_deep(self):
     # TODO: Why it's not AttributeError (as in tests above), but
     # PluginDBError?
     with assertProducesWarning(DeprecatedWorkerNameWarning, message_pattern="namespace is deprecated"):
         self.assertRaises(PluginDBError, lambda: self.buildslave_ns.deep.newthirdparty)
     with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
         self.assertTrue(self.worker_ns.deep.newthirdparty is ClassWithInterface)
Exemplo n.º 7
0
    def test_workername_old_api(self):
        @implementer(interfaces.IProperties)
        class FakeProperties(Mock):
            pass

        import posixpath

        r = FakeRequest()
        build = Build([r])
        build.properties = FakeProperties()
        build.builder = FakeBuilder(self.master)
        build.build_status = FakeBuildStatus()

        w = worker.FakeWorker(self.master)
        w.path_module = posixpath
        w.properties = FakeProperties()
        w.workername = 'worker name'
        w.worker_basedir = None

        workerforbuilder = Mock(name='workerforbuilder')
        workerforbuilder.worker = w

        build.setupWorkerForBuilder(workerforbuilder)

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new = build.workername

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'slavename' attribute is deprecated"):
            old = build.slavename

        self.assertEqual(old, 'worker name')
        self.assertIdentical(new, old)
Exemplo n.º 8
0
    def test_getWorkerName_old_api(self):
        @implementer(interfaces.IProperties)
        class FakeProperties(Mock):
            pass

        import posixpath

        r = FakeRequest()
        build = Build([r])
        build.properties = FakeProperties()
        build.builder = FakeBuilder(self.master)
        build.build_status = FakeBuildStatus()

        w = worker.FakeWorker(self.master)
        w.path_module = posixpath
        w.properties = FakeProperties()
        w.workername = "worker name"
        w.worker_basedir = None

        workerforbuilder = Mock(name="workerforbuilder")
        workerforbuilder.worker = w

        build.workerforbuilder = workerforbuilder

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new = build.getWorkerName()

        with assertProducesWarning(DeprecatedWorkerNameWarning, message_pattern="'getSlaveName' method is deprecated"):
            old = build.getSlaveName()

        self.assertEqual(old, "worker name")
        self.assertIdentical(new, old)
Exemplo n.º 9
0
    def test_api_import(self):
        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            # Old API end point, no warning.
            from buildbot.plugins import buildslave as buildslave_ns
            # New API.
            from buildbot.plugins import worker as worker_ns
            # New API.
            self.assertTrue(worker_ns.Worker is buildbot.worker.Worker)

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern=r"'buildbot\.plugins\.buildslave' plugins "
                                "namespace is deprecated"):
            # Old API, with warning
            self.assertTrue(
                buildslave_ns.BuildSlave is buildbot.worker.Worker)

        # Access of newly named workers through old entry point is an error.
        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern=r"'buildbot\.plugins\.buildslave' plugins "
                                "namespace is deprecated"):
            self.assertRaises(AttributeError, lambda: buildslave_ns.Worker)

        # Access of old-named workers through new API is an error.
        self.assertRaises(AttributeError, lambda: worker_ns.BuildSlave)
Exemplo n.º 10
0
    def test_old_api_thirdparty_deep(self):
        with assertProducesWarning(
            DeprecatedWorkerNameWarning,
            message_pattern=r"'buildbot\.plugins\.buildslave' plugins " "namespace is deprecated",
        ):
            self.assertTrue(self.buildslave_ns.deep.thirdparty is ClassWithInterface)

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            self.assertTrue(self.worker_ns.deep.thirdparty is ClassWithInterface)
Exemplo n.º 11
0
    def test_RemoteShellCommand_usePTY(self):
        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            cmd = remotecommand.RemoteShellCommand(
                'workdir', 'command')

        self.assertTrue(cmd.args['usePTY'] is None)

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            cmd = remotecommand.RemoteShellCommand(
                'workdir', 'command', usePTY=True)

        self.assertTrue(cmd.args['usePTY'])

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            cmd = remotecommand.RemoteShellCommand(
                'workdir', 'command', usePTY=False)

        self.assertFalse(cmd.args['usePTY'])
Exemplo n.º 12
0
 def test_new_api_thirdparty(self):
     # Third party plugins that use new API should work only through
     # new API.
     with assertProducesWarning(DeprecatedWorkerNameWarning,
                                message_pattern="namespace is deprecated"):
         self.assertRaises(AttributeError,
                           lambda: self.buildslave_ns.newthirdparty)
     with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
         self.assertTrue(
             self.worker_ns.newthirdparty is ClassWithInterface)
Exemplo n.º 13
0
    def test_util_BuildslaveChoiceParameter_import(self):
        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern=re.escape(
                    "'buildbot.util.BuildslaveChoiceParameter' is deprecated, "
                    "use 'buildbot.util.WorkerChoiceParameter' instead")):
            deprecated = self.util_ns.BuildslaveChoiceParameter

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            self.assertIdentical(deprecated, ClassWithInterface)
Exemplo n.º 14
0
    def test_RemoteShellCommand_usePTY(self):
        with assertNotProducesWarnings(DeprecatedApiWarning):
            cmd = remotecommand.RemoteShellCommand('workdir', 'command')

        self.assertTrue(cmd.args['usePTY'] is None)

        with assertNotProducesWarnings(DeprecatedApiWarning):
            cmd = remotecommand.RemoteShellCommand('workdir',
                                                   'command',
                                                   usePTY=True)

        self.assertTrue(cmd.args['usePTY'])

        with assertNotProducesWarnings(DeprecatedApiWarning):
            cmd = remotecommand.RemoteShellCommand('workdir',
                                                   'command',
                                                   usePTY=False)

        self.assertFalse(cmd.args['usePTY'])
Exemplo n.º 15
0
    def test_slavename_deprecated(self):
        bs = ConcreteWorker("bot", "pass")

        with assertProducesWarning(DeprecatedWorkerNameWarning, message_pattern="'slavename' property is deprecated"):
            old_name = bs.slavename

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            name = bs.workername

        self.assertEqual(name, old_name)
Exemplo n.º 16
0
    def test_util_enforceChosenSlave_import(self):
        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern=re.escape(
                    "'buildbot.util.enforceChosenSlave' is deprecated, "
                    "use 'buildbot.util.enforceChosenWorker' instead")):
            deprecated = self.util_ns.enforceChosenSlave

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            self.assertIdentical(deprecated, ClassWithInterface)
Exemplo n.º 17
0
    def test_config_0_9_0b5_api_renamed(self):
        # Load configuration and start master.
        # TODO: check for expected warnings.

        configfile = self._write_config(sample_0_9_0b5_api_renamed)

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            _, loaded_config = config.loadConfigDict(".", configfile.path)

            yield self._run_master(loaded_config)
Exemplo n.º 18
0
    def test_config_0_9_0b5_api_renamed(self):
        # Load configuration and start master.
        # TODO: check for expected warnings.

        configfile = self._write_config(sample_0_9_0b5_api_renamed)

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            _, loaded_config = config.loadConfigDict(".", configfile.path)

            yield self._run_master(loaded_config)
Exemplo n.º 19
0
    def test_util_enforceChosenSlave_import(self):
        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern=re.escape(
                    "'buildbot.util.enforceChosenSlave' is deprecated, "
                    "use 'buildbot.util.enforceChosenWorker' instead")):
            deprecated = self.util_ns.enforceChosenSlave

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            self.assertIdentical(deprecated, ClassWithInterface)
Exemplo n.º 20
0
    def test_init_workerbuilddir_positional(self):
        with assertNotProducesWarnings(DeprecatedApiWarning):
            cfg = BuilderConfig('a b c',
                                'a',
                                None,
                                None,
                                'dir',
                                factory=self.factory)

        self.assertEqual(cfg.workerbuilddir, 'dir')
Exemplo n.º 21
0
    def test_workersrcs_old_api(self):
        step = transfer.MultipleFileUpload(workersrcs=["srcfile"], masterdest="dstfile")

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new = step.workersrcs

        with assertProducesWarning(DeprecatedWorkerNameWarning, message_pattern="'slavesrcs' attribute is deprecated"):
            old = step.slavesrcs

        self.assertIdentical(new, old)
Exemplo n.º 22
0
    def test_workerdest_old_api(self):
        step = transfer.JSONPropertiesDownload(workerdest="dstfile")

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new = step.workerdest

        with assertProducesWarning(DeprecatedWorkerNameWarning, message_pattern="'slavedest' attribute is deprecated"):
            old = step.slavedest

        self.assertIdentical(new, old)
Exemplo n.º 23
0
    def test_config_0_9_0b5_api_renamed(self):
        # Load configuration and start master.
        # TODO: check for expected warnings.

        self._write_config(sample_0_9_0b5_api_renamed)

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            loaded_config = config.MasterConfig.loadConfig(self.basedir, self.configfile)

        return self._run_master(loaded_config)
Exemplo n.º 24
0
    def test_util_BuildslaveChoiceParameter_import(self):
        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern=re.escape(
                    "'buildbot.util.BuildslaveChoiceParameter' is deprecated, "
                    "use 'buildbot.util.WorkerChoiceParameter' instead")):
            deprecated = self.util_ns.BuildslaveChoiceParameter

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            self.assertIdentical(deprecated, ClassWithInterface)
Exemplo n.º 25
0
 def test_new_api_thirdparty_deep(self):
     # TODO: Why it's not AttributeError (as in tests above), but
     # PluginDBError?
     with assertProducesWarning(DeprecatedWorkerNameWarning,
                                message_pattern="namespace is deprecated"):
         self.assertRaises(PluginDBError,
                           lambda: self.buildslave_ns.deep.newthirdparty)
     with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
         self.assertTrue(
             self.worker_ns.deep.newthirdparty is ClassWithInterface)
Exemplo n.º 26
0
    def test_old_api_thirdparty(self):
        with assertProducesWarning(
            DeprecatedWorkerNameWarning,
            message_pattern=r"'buildbot\.plugins\.buildslave' plugins " "namespace is deprecated",
        ):
            # Third party plugins that use old API should work through old API.
            self.assertTrue(self.buildslave_ns.thirdparty is ClassWithInterface)

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            # Third party plugins that use old API should work through new API.
            self.assertTrue(self.worker_ns.thirdparty is ClassWithInterface)
Exemplo n.º 27
0
    def test_config_0_9_0b5_api_renamed(self):
        # Load configuration and start master.
        # TODO: check for expected warnings.

        self._write_config(sample_0_9_0b5_api_renamed)

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            loaded_config = config.MasterConfig.loadConfig(
                self.basedir, self.configfile)

        return self._run_master(loaded_config)
Exemplo n.º 28
0
    def test_util_SlaveLock_import(self):
        with assertProducesWarning(
            DeprecatedWorkerNameWarning,
            message_pattern=re.escape(
                "'buildbot.util.SlaveLock' is deprecated, " "use 'buildbot.util.WorkerLock' instead"
            ),
        ):
            deprecated = self.util_ns.SlaveLock

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            self.assertIdentical(deprecated, ClassWithInterface)
Exemplo n.º 29
0
    def test_old_api_thirdparty_deep(self):
        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern=r"'buildbot\.plugins\.buildslave' plugins "
                "namespace is deprecated"):
            self.assertTrue(
                self.buildslave_ns.deep.thirdparty is ClassWithInterface)

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            self.assertTrue(
                self.worker_ns.deep.thirdparty is ClassWithInterface)
Exemplo n.º 30
0
    def test_workersrc_old_api(self):
        yield self.startService()

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new = self.db.workers

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'buildslaves' attribute is deprecated"):
            old = self.db.buildslaves

        self.assertIdentical(new, old)
Exemplo n.º 31
0
    def test_workers_old_api(self):
        bldr = builder.Builder('bldr', _addServices=False)

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new = bldr.workers

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'slaves' attribute is deprecated"):
            old = bldr.slaves

        self.assertIdentical(new, old)
    def test_worker_old_api(self):
        w = AbstractWorkerForBuilder()

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new_worker = w.worker

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'slave' attribute is deprecated"):
            old_worker = w.slave

        self.assertTrue(new_worker is old_worker)
    def test_worker_old_api(self):
        w = AbstractWorkerForBuilder()

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new_worker = w.worker

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'slave' attribute is deprecated"):
            old_worker = w.slave

        self.assertTrue(new_worker is old_worker)
Exemplo n.º 34
0
    def test_maxCountForWorker_old_api(self):
        l = WorkerLock("lock")

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new = l.maxCountForWorker

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'maxCountForSlave' attribute is deprecated"):
            old = l.maxCountForSlave

        self.assertIdentical(new, old)
Exemplo n.º 35
0
    def test_old_api_thirdparty(self):
        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern=r"'buildbot\.plugins\.buildslave' plugins "
                "namespace is deprecated"):
            # Third party plugins that use old API should work through old API.
            self.assertTrue(
                self.buildslave_ns.thirdparty is ClassWithInterface)

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            # Third party plugins that use old API should work through new API.
            self.assertTrue(self.worker_ns.thirdparty is ClassWithInterface)
Exemplo n.º 36
0
    def test_maxCountForWorker_old_api(self):
        lock = WorkerLock("lock")

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new = lock.maxCountForWorker

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'maxCountForSlave' attribute is deprecated"):
            old = lock.maxCountForSlave

        self.assertIdentical(new, old)
    def test_workers_old_api(self):
        bldr = builder.Builder('bldr')

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new = bldr.workers

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'slaves' attribute is deprecated"):
            old = bldr.slaves

        self.assertIdentical(new, old)
Exemplo n.º 38
0
    def test_workerdest_old_api(self):
        step = transfer.FileDownload(mastersrc='srcfile', workerdest='dstfile')

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new = step.workerdest

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'slavedest' attribute is deprecated"):
            old = step.slavedest

        self.assertIdentical(new, old)
Exemplo n.º 39
0
    def test_workersrcs_old_api(self):
        step = transfer.MultipleFileUpload(workersrcs=['srcfile'], masterdest='dstfile')

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new = step.workersrcs

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'slavesrcs' attribute is deprecated"):
            old = step.slavesrcs

        self.assertIdentical(new, old)
Exemplo n.º 40
0
    def test_slavename_deprecated(self):
        bs = ConcreteWorker('bot', 'pass')

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'slavename' property is deprecated"):
            old_name = bs.slavename

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            name = bs.workername

        self.assertEqual(name, old_name)
Exemplo n.º 41
0
    def test_workersrc_old_api(self):
        yield self.startService()

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new = self.db.workers

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'buildslaves' attribute is deprecated"):
            old = self.db.buildslaves

        self.assertIdentical(new, old)
Exemplo n.º 42
0
    def test_workerdest_old_api(self):
        step = transfer.FileDownload(mastersrc='srcfile', workerdest='dstfile')

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new = step.workerdest

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'slavedest' attribute is deprecated"):
            old = step.slavedest

        self.assertIdentical(new, old)
Exemplo n.º 43
0
    def test_slavename_deprecated(self):
        bs = yield self.createWorker('bot', 'pass')
        yield bs.startService()

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'slavename' property is deprecated"):
            old_name = bs.slavename

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            name = bs.workername

        self.assertEqual(name, old_name)
Exemplo n.º 44
0
 def test_use_non_default_keypair_security(self):
     c, r = self.botoSetup()
     amis = list(r.images.all())
     with assertNotProducesWarnings(DeprecatedWorkerNameWarning):
         bs = ec2.EC2LatentWorker('bot1', 'sekrit', 'm1.large',
                                  identifier='publickey',
                                  secret_identifier='privatekey',
                                  ami=amis[0].id,
                                  security_name='test_security_group',
                                  keypair_name='test_keypair',
                                  )
     self.assertEqual(bs.keypair_name, 'test_keypair')
     self.assertEqual(bs.security_name, 'test_security_group')
Exemplo n.º 45
0
 def test_use_non_default_keypair_security(self):
     c, r = self.botoSetup()
     amis = list(r.images.all())
     with assertNotProducesWarnings(DeprecatedWorkerNameWarning):
         bs = ec2.EC2LatentWorker('bot1', 'sekrit', 'm1.large',
                                  identifier='publickey',
                                  secret_identifier='privatekey',
                                  ami=amis[0].id,
                                  security_name='test_security_group',
                                  keypair_name='test_keypair',
                                  )
     self.assertEqual(bs.keypair_name, 'test_keypair')
     self.assertEqual(bs.security_name, 'test_security_group')
Exemplo n.º 46
0
    def test_method_wrapper(self):
        class C(object):

            def updateWorker(self, res):
                return res
            deprecatedWorkerClassMethod(locals(), updateWorker)

        c = C()

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            self.assertEqual(c.updateWorker("test"), "test")

        with assertProducesWarning(DeprecatedWorkerNameWarning):
            self.assertEqual(c.updateSlave("test"), "test")
Exemplo n.º 47
0
    def test_plugins_util_BuildslaveChoiceParameter_import(self):
        from buildbot.plugins import util

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new = util.WorkerChoiceParameter

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern=re.escape(
                    "'buildbot.util.BuildslaveChoiceParameter' is deprecated, "
                    "use 'buildbot.util.WorkerChoiceParameter' instead")):
            deprecated = util.BuildslaveChoiceParameter

        self.assertIdentical(new, deprecated)
    def test_plugins_util_BuildslaveChoiceParameter_import(self):
        from buildbot.plugins import util

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            new = util.WorkerChoiceParameter

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern=re.escape(
                    "'buildbot.util.BuildslaveChoiceParameter' is deprecated, "
                    "use 'buildbot.util.WorkerChoiceParameter' instead")):
            deprecated = util.BuildslaveChoiceParameter

        self.assertIdentical(new, deprecated)
Exemplo n.º 49
0
    def test_worker_old_api(self):
        cmd = remotecommand.RemoteCommand('cmd', [])

        w = mock.Mock()
        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            self.assertIdentical(cmd.worker, None)

            cmd.worker = w

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'buildslave' attribute is deprecated"):
            old = cmd.buildslave

        self.assertIdentical(old, w)
Exemplo n.º 50
0
    def test_worker_old_api(self):
        cmd = remotecommand.RemoteCommand('cmd', [])

        w = mock.Mock()
        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            self.assertIdentical(cmd.worker, None)

            cmd.worker = w

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'buildslave' attribute is deprecated"):
            old = cmd.buildslave

        self.assertIdentical(old, w)
Exemplo n.º 51
0
    def test_worker_old_api(self):
        bs = buildstep.BuildStep()

        worker = mock.Mock()
        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            bs.setWorker(worker)

            new = bs.worker

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'buildslave' attribute is deprecated"):
            old = bs.buildslave

        self.assertIdentical(new, worker)
        self.assertIdentical(old, new)
Exemplo n.º 52
0
    def test_produces_warning(self):
        class C(object):

            @property
            def workername(self):
                return "name"
            deprecatedWorkerClassProperty(locals(), workername)

        c = C()

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            self.assertEqual(c.workername, "name")

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern="'slavename' property is deprecated, "
                                "use 'workername' instead"):
            self.assertEqual(c.slavename, "name")
Exemplo n.º 53
0
    def test_attribute(self):
        class C(WorkerAPICompatMixin):
            def __init__(self):
                self.workers = [1, 2, 3]
                self._registerOldWorkerAttr("workers", name="buildslaves")

                self.workernames = ["a", "b", "c"]
                self._registerOldWorkerAttr("workernames")

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            c = C()

            self.assertEqual(c.workers, [1, 2, 3])
            self.assertEqual(c.workernames, ["a", "b", "c"])

        with assertProducesWarning(DeprecatedWorkerNameWarning):
            self.assertEqual(c.buildslaves, [1, 2, 3])

        with assertProducesWarning(DeprecatedWorkerNameWarning):
            self.assertEqual(c.slavenames, ["a", "b", "c"])
Exemplo n.º 54
0
    def test_produces_warning(self):
        Worker = type("Worker", (object,), {})
        buildbot_module = new.module('buildbot_module')
        buildbot_module.Worker = Worker
        with mock.patch.dict(sys.modules,
                             {'buildbot_module': buildbot_module}):
            scope = buildbot_module.__dict__
            deprecatedWorkerModuleAttribute(scope, Worker)

            # Overwrite with Twisted's module wrapper.
            import buildbot_module

        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            W = buildbot_module.Worker
        self.assertIdentical(W, Worker)

        with assertProducesWarning(
                DeprecatedWorkerNameWarning,
                message_pattern=r"buildbot_module\.Slave was deprecated in "
                                r"Buildbot 0.9.0: Use Worker instead."):
            S = buildbot_module.Slave
        self.assertIdentical(S, Worker)
Exemplo n.º 55
0
 def test_0_9_0b5_api_renamed_config(self):
     with open(self.filename, "w") as f:
         f.write(sample_0_9_0b5_api_renamed)
     with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
         config.MasterConfig.loadConfig(self.basedir, self.filename)
Exemplo n.º 56
0
 def test_sample_config(self):
     filename = util.sibpath(runner.__file__, 'sample.cfg')
     with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
         config.MasterConfig.loadConfig(self.basedir, filename)
Exemplo n.º 57
0
    def test_init_workerdest_positional(self):
        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            step = transfer.FileDownload('srcfile', 'dstfile')

        self.assertEqual(step.workerdest, 'dstfile')
Exemplo n.º 58
0
    def test_init_workerdest_new_api_no_warns(self):
        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            step = transfer.FileDownload(mastersrc='srcfile',
                                         workerdest='dstfile')

        self.assertEqual(step.workerdest, 'dstfile')
Exemplo n.º 59
0
    def test_init_workersrcs_positional(self):
        with assertNotProducesWarnings(DeprecatedWorkerAPIWarning):
            step = transfer.MultipleFileUpload(['srcfile'], 'dstfile')

        self.assertEqual(step.workersrcs, ['srcfile'])