def test(self): r = Report() r.create_report(onweb=False) # test setter r.filename = "index.html" r.directory = "report" r._init_report()
def test_report_properties(self): role_counts = { 'admin': 1, 'manager': 3, 'author': 5, 'reviewer': 6, 'visitor': 3 } report = Report(user_count=10, document_count=3, user_count_by_roles=role_counts, import_count=0, export_count=4) self.assertEqual(report.user_count, 10) self.assertEqual(report.document_count, 3) self.assertEqual(report.user_count_by_roles, role_counts) self.assertEqual(report.import_count, 0) self.assertEqual(report.export_count, 4)
def test_local(self): # here we test if a local template works and if # a name different from index.html works temp_filename = "example.html" with open(temp_filename, "w") as fin: fin.write("{{ test }}") try: r = Report(".", template_filename=temp_filename) r.jinja['test'] = 'youpi' r.create_report(onweb=False) with open("report/index.html", "r") as fin: data = fin.read() assert data == 'youpi' except Exception: raise Exception finally: # cleanup os.remove(temp_filename)
elif args.ticket == 'check' and args.filename: tickets.ticket_files(args.filename) elif args.comment: package.post_comment(args.comment) elif args.verify and args.verify != 'verify' and not args.config and not args.query and not args.filename: package.single_ticket(args.verify, export) elif args.verify == 'verify' and args.config and args.query and not args.filename: package.multiple_tickets(args.config, args.query) elif args.verify == 'verify' and args.filename: package.host_list_verify(args.filename) elif args.filename and not args.verify: tickets.filename(args.filename) elif args.new: config.config_create(args.new) elif args.example == 'example': Example.example() else: jira_query = "None has been set" print( colored( "Wrong input! please use --help or --example to learn more about program", 'red')) config = Config() package = Package() tickets = Ticket() report = Report() if __name__ == '__main__': main()
def test_report_creation(self): report = Report()
def report(rtype): if not isinstance(rtype, int): return "Expected an integer value. Exiting" elif rtype == 1: repo = get_repos() report = Report(repo=repo).user_languages() return out2csv(report, '../reports/issue_contrib.csv') elif rtype == 2: pulls = get_prs() report = Report(pulls=pulls).pr_ratios() return out2csv(report, '../reports/open_closed_merged_prs.csv') elif rtype == 3: pulls = get_prs(state='closed') report = Report(pulls=pulls).pr_ratios() return out2csv(report, '../reports/closed_merged_prs.csv') elif rtype == 4: pulls = get_prs() report = Report(pulls=pulls).contribution_count() return out2csv(report, '../reports/positive_negative_pr_contributions.csv') elif rtype == 5: pulls = get_prs() report = Report(pulls=pulls).repo_maintenance() return out2csv(report, '../reports/repo_maintenance.csv') elif rtype == 6: repo = get_repos() report = Report(repo=repo).open_issues() return out2csv(report, '../reports/issue_assignees.csv') elif rtype == 7: repo = get_repos() report = Report(repo=repo).issue_comments() return out2csv(report, '../closed_issue_comments.csv') elif rtype == 8: #This is a heavy computation. Limiting to 10 PRs, as we're analyzing each sentence #in each comment in a single PR pulls = get_prs(limit=100) report = Report(pulls=pulls).pr_sentiment() return out2csv(report, '../reports/sentiment_analysis.csv') elif rtype == 9: pulls = get_prs(limit=500) report = Report(pulls=pulls).pr_report() return out2csv(report, '../reports/pr_report_closed.csv') elif rtype == 10: repo = get_repos() pulls = get_prs(limit=50) report = Report(pulls=pulls, repo=repo).sentiment_repo_report() fname = '../reports/pr_sentiment_report.csv' if fexists(Path(fname)): return out2csv(report, '../reports/pr_sentiment_report.csv', "a") else: return out2csv(report, '../reports/pr_sentiment_report.csv', "w+") elif rtype == 12: pulls = get_prs(state='all', limit=100) report = Report(pulls=pulls).parse() return out2csv(report, '../reports/100_json_pulls.csv') return True
import mraa import mqtt import time import string import os import json from reports import Report from threading import Timer from datetime import datetime import MonashAirSense_config as Conf # fields = Conf.fields #Initiate shared variable values = Conf.values #Initiate shared variable timestamp = datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") local_report = Report('/root', timestamp[0], timestamp[1]) def upload_data(): #After upload_data is first run, it is run again at the specified interval Timer(Conf.MQTT_interval, upload_data, ()).start() #Formats and sends data over MQTT timestamp = datetime.utcnow().strftime("%Y-%m-%d %H:%M:%S") pairs = timestamp.split(" ") values["meta"]["date"] = pairs[0] #Date values["meta"]["time"] = pairs[1] #Time values["meta"]["timestamp"] = time.time() msg = json.dumps(values) #Convert to JSON for sending to server. #Initiate and send MQTT MQTT = mqtt.mqtt(Conf.MQTT_broker, Conf.MQTT_port,