Example #1
0
 def get(self, user_id):
     user = g.user_info["username"]
     db = DB()
     status, result = db.select_by_id("user", user_id)
     if status is True and result:
         # 生成12位随机密码
         password = ''.join(
             random.sample(string.ascii_letters + string.digits, 12))
         send_mail(result["mail"], "Saltshaker 重置密码", "新密码:" + password)
         # 离散hash
         password_hash = custom_app_context.encrypt(password)
         result["password"] = password_hash
         insert_status, insert_result = db.update_by_id(
             "user", json.dumps(result, ensure_ascii=False), user_id)
         db.close_mysql()
         if insert_status is not True:
             logger.error("Reset %s password error: %s" %
                          (user_id, insert_result))
             return {"status": False, "message": insert_result}, 500
         audit_log(user, user_id, "", "user", "reset")
         return {"status": True, "message": ""}, 201
     else:
         db.close_mysql()
         logger.error("Select user error: %s" % result)
         return {"status": False, "message": result}, 500
Example #2
0
def auto_send_mail(job, mail):
    user_id = job.user_id
    testcases_ids = eval(job.testcases)
    testcase_scenes_ids = eval(job.testcase_scenes)
    testcase_time_id = get_testcase_time_id(user_id)
    post_request(testcases_ids, testcase_scenes_ids, testcase_time_id)
    get_report(testcase_time_id)
    if mail:
        if mail.email_method == 1:
            send_mail(mail.subject, mail.to_user_list.split(','), user_id=user_id, testcase_time_id=testcase_time_id)
        elif mail.email_method == 2:
            send_excel(mail.subject, mail.to_user_list.split(','), testcase_time_id=testcase_time_id)
        else:
            print('auto_send_mail:错误的邮件发送方式')
Example #3
0
 def post(self):
     testcase_time_id = request.args.get('testcase_time_id')
     user_id = session.get('user_id')
     subject, to_user_list, email_method = request_get_values(
         'subject', 'to_user_list', 'email_method')
     to_user_list = to_user_list.split(',')
     print('TestCaseReportSendMail testcase_time_id:', testcase_time_id,
           subject, to_user_list, email_method)
     if email_method == '1':
         send_mail(subject,
                   to_user_list,
                   user_id=user_id,
                   testcase_time_id=testcase_time_id)
     elif email_method == '2':
         send_excel(subject,
                    to_user_list,
                    testcase_time_id=testcase_time_id)
     return redirect(
         url_for('testcase_report_blueprint.testcase_report_list'))
Example #4
0
def lost_password(request):
    if request.method == 'POST':
        try:
            user = User.objects.get(username=request.POST['username'])
            lostpassword = LostPassword.objects.create(user=user,
                                                       key=new_key())
            message = 'To change your password, click on the following link:\n http://%s%s' % (get_current_site(request),
                reverse('change_password',kwargs={'key':lostpassword.key}))

            send_mail(settings.DEFAULT_FROM_EMAIL, user.email, 'your ekkli password', message)
            return HttpResponseRedirect('/login')
        except User.DoesNotExist:
            message = 'Unknown user'

    else:
        message = ''

    return render_to_response('lost_password.html',
                              {'message': message})
Example #5
0
 def deliver(self, instance):
     if instance.recipient and instance.recipient.email:
         try:
             send_mail('*****@*****.**', instance.recipient.email,
                       'Email from ekkli', instance.text)
             instance.delivered_at = datetime.now()
             instance.save()
         except Exception as inst:
             instance.delivered_at = None
             instance.failed = True
             instance.fail_reason = inst
             instance.save()
             print inst
     elif not instance.recipient:
         group = instance.entity.discussion.group
         members = GroupProfile.objects.filter(group=group)[0].get_group_members()
         for member in members:
             for s in Subscription.objects.all():
                 if s.user == member and s.followed_object == instance.entity.discussion \
                 and instance.acting_user != member:
                     notification = Notification(text=instance.text, entity=instance.entity, recipient=member)
                     notification.save()
     else:
         return
Example #6
0
from email.mime.text import MIMEText
from email.header import Header
import smtplib
from common import send_mail
from common import find_file
import os


# 找到用例并执行用例
# test_dir = 'D:\\test_project\\test_case'
test_dir = './test_case/'   # 用例地址
discover = unittest.defaultTestLoader.discover(test_dir, pattern='test_*.py')

if __name__ == '__main__':
    # runner = unittest.TextTestRunner()
    # runner.run(discover)

    now = time.strftime('%Y-%m-%d %H_%M_%S')
    filename = './report/' + now + 'result.html'
    ft = open(filename, 'wb')
    runner = HTMLTestRunner.HTMLTestRunner(stream=ft, title='测试报告', description='用例执行情况')
    runner.run(discover)
    ft.close()

    # -------找到最新的测试报告
    result_dir = 'D:\\test_project\\report'  # 报告地址
    a = find_file.new_report(result_dir)

    # -------定于发送邮件
    send_mail.send_mail(a)