def checkDiffTacFile(self, quiet): """ Utility function to test calling _makeBuildbotTac() on base directory with a buildbot.tac file, with does needs to be changed. @param quiet: the value of 'quiet' argument for _makeBuildbotTac() """ # set-up mocks to simulate buildbot.tac file in basedir self.patch(os.path, "exists", mock.Mock(return_value=True)) self.setUpOpen("old-tac-contents") # call _makeBuildbotTac() create_slave._makeBuildbotTac("bdir", "new-tac-contents", quiet) # check that buildbot.tac.new file was created with expected contents tac_file_path = os.path.join("bdir", "buildbot.tac") self.open.assert_has_calls([mock.call(tac_file_path, "rt"), mock.call(tac_file_path + ".new", "wt")]) self.fileobj.write.assert_called_once_with("new-tac-contents") self.chmod.assert_called_once_with(tac_file_path + ".new", 0o600) # check output to the log if quiet: self.assertWasQuiet() else: self.assertLogged("not touching existing buildbot.tac", "creating buildbot.tac.new instead")
def testNoTacFile(self): """ call _makeBuildbotTac() on base directory with no buildbot.tac file """ self.patch(os.path, "exists", mock.Mock(return_value=False)) # capture calls to open() and write() self.setUpOpen() # call _makeBuildbotTac() create_slave._makeBuildbotTac("bdir", "test-tac-contents", False) # check that buildbot.tac file was created with expected contents tac_file_path = os.path.join("bdir", "buildbot.tac") self.open.assert_called_once_with(tac_file_path, "wt") self.fileobj.write.assert_called_once_with("test-tac-contents") self.chmod.assert_called_once_with(tac_file_path, 0o600)
def checkTacFileCorrect(self, quiet): """ Utility function to test calling _makeBuildbotTac() on base directory with existing buildbot.tac file, which does not need to be changed. @param quiet: the value of 'quiet' argument for _makeBuildbotTac() """ # set-up mocks to simulate buildbot.tac file in the basedir self.patch(os.path, "exists", mock.Mock(return_value=True)) self.setUpOpen("test-tac-contents") # call _makeBuildbotTac() create_slave._makeBuildbotTac("bdir", "test-tac-contents", quiet) # check that write() was not called self.assertFalse(self.fileobj.write.called, "unexpected write() call") # check output to the log if quiet: self.assertWasQuiet() else: self.assertLogged("buildbot.tac already exists and is correct")