Ejemplo n.º 1
0
 def test_setupMail(self):
     username = '******'
     hostname = '127.0.0.1'
     port = 25
     ssl = False
     mail_from = '*****@*****.**'
     mail_to = '*****@*****.**'
     password = '******'
     properties_mock = self.mocker.mock()
     properties_mock.get_value('mail_username')
     self.mocker.result(username)
     properties_mock.get_value('mail_hostname')
     self.mocker.result(hostname)
     properties_mock.get_value('mail_port')
     self.mocker.result(port)
     properties_mock.get_value('mail_ssl')
     self.mocker.result(ssl)
     properties_mock.get_value('mail_to')
     self.mocker.result(mail_to)
     properties_mock.get_value('mail_from')
     self.mocker.result(mail_from)
     getpass_mock = self.mocker.replace('getpass.getpass')
     getpass_mock()
     self.mocker.result(password)
     mail_action = self.mocker.mock()
     mail_mock = self.mocker.replace('log4tailer.notifications.Mail')
     mail_mock(mail_from, mail_to, hostname, username, password, port, ssl)
     self.mocker.result(mail_action)
     mail_action.connectSMTP()
     self.mocker.result(True)
     self.mocker.replay()
     utils.setup_mail(properties_mock)
Ejemplo n.º 2
0
 def resumeBuilder(self):
     resume = Resume(self.arrayLog)
     notify_defaults = ('mail', 'print')
     properties = self.properties
     if properties:
         notification_type = properties.get_value('analyticsnotification')
         analyticsgap = properties.get_value('analyticsgaptime')
         if notification_type and notification_type not in notify_defaults:
             resume.notification_type(notification_type)
         elif notification_type == 'mail':
             if not self.mailIsSetup():
                 mailAction = setup_mail(properties)
                 resume.setMailNotification(mailAction)
             else:
                 resume.setMailNotification(self.mailAction)
         if analyticsgap:
             resume.setAnalyticsGapNotification(analyticsgap)
     if self.silence:
         # if no notify has been setup and we are in daemonized mode 
         # we need to flush the reporting to avoid filling up memory.
         resume.is_daemonized = True
     # check if inactivity action on the self.actions and set the inactivity 
     # on the resume object. If inactivity is flagged, will be then
     # reported.
     inactivity_action = self.__getAction(notifications.Inactivity)
     if inactivity_action:
         resume.add_notifier(inactivity_action)
     return resume
Ejemplo n.º 3
0
    def test_setupMail(self):
        def getpass():
            return "111"

        mailaction = utils.setup_mail(PropertiesStub(), getpass)
        self.assertTrue(isinstance(mailaction, notifications.Mail))
Ejemplo n.º 4
0
    def test_setupMail(self):
        def getpass():
            return "111"

        mailaction = utils.setup_mail(PropertiesStub(), getpass)
        self.assertTrue(isinstance(mailaction, notifications.Mail))
Ejemplo n.º 5
0
def initialize(options):
    loglevels = defaults['loglevels']
    logcolors = defaults['logcolors']
    actions = defaults['actions']
    config = options.configfile or defaults['alt_config']
    if options.version:
        print __version__
        sys.exit(0)
    if os.path.exists(config):
        logger.info("Configuration file [%s] found" % config)
        defaults['properties'] = parse_config(config)
        loglevels.parse_config(defaults['properties'])
        logcolors.parse_config(defaults['properties'])
    properties = defaults['properties']
    if options.pause:
        defaults['pause'] = int(options.pause)
    if options.throttle:
        throttle = float(options.throttle)
        defaults['throttle'] = throttle
    if options.silence and properties:
        mailAction = setup_mail(properties)
        actions.append(mailAction)
        defaults['silence'] = True
    if options.nomailsilence:
        # silence option with no mail
        # up to user to provide notification by mail 
        # or do some kind of reporting 
        defaults['silence'] = True
    if options.mail and properties:
        mailAction = setup_mail(properties)
        actions.append(mailAction)
    if options.filter:
        # overrides Print notifier
        actions[0] = notifications.Filter(re.compile(options.filter))
    if options.tailnlines:
        defaults['nlines'] = int(options.tailnlines)
    if options.target:
        defaults['target'] = options.target
    if options.inactivity:
        inactivityAction = notifications.Inactivity(options.inactivity, 
                properties)
        if inactivityAction.getNotificationType() == 'mail':
            if options.mail or options.silence:
                inactivityAction.setMailNotification(actions[len(actions)-1])
            else:
                mailAction = setup_mail(properties)
                inactivityAction.setMailNotification(mailAction)
        actions.append(inactivityAction)
    if options.cornermark:
        cornermark = notifications.CornerMark(options.cornermark)
        actions.append(cornermark)
    if options.post and properties:
        defaults['post'] = True
        poster = notifications.Poster(properties)
        actions.append(poster)
    if options.executable and properties:
        executor = notifications.Executor(properties)
        actions.append(executor)
    if options.screenshot and properties:
        printandshoot = notifications.PrintShot(properties)
        actions[0] = printandshoot