def setUp(self): self.VRM = VRM_Account.objects.create(vrm_user_id='*****@*****.**',vrm_password="******") self._influx_db_name = 'test_db' self.i = Influx(database=self._influx_db_name) try: self.i.create_database(self._influx_db_name) #Generate random data points for 24h except: self.i.delete_database(self._influx_db_name) sleep(1) self.i.create_database(self._influx_db_name) pass self.location = Geoposition(52.5,24.3) self.site = Sesh_Site.objects.create( site_name='test', comission_date=timezone.now(), location_city='Kigali', location_country='Rwanda', position=self.location, installed_kw=25, system_voltage=45, number_of_panels=45, battery_bank_capacity=450, ) #create sesh rmc account self.test_rmc_account = Sesh_RMC_Account.objects.create(site=self.site, api_key='lcda5c15ae5cdsac464zx8f49asc16a') #assign a user to the sites generate_auto_rules(self.site.pk) self.user = Sesh_User.objects.create_superuser(username='******',password='******',email='*****@*****.**') self.test_user = Sesh_User.objects.create_user(username='******', password='******', email='*****@*****.**')
def setUp(self): self.VRM = VRM_Account.objects.create(vrm_user_id='*****@*****.**',vrm_password="******") self.location = Geoposition(52.5,24.3) self.site = Sesh_Site.objects.create(site_name=u"Test site", comission_date=timezone.datetime(2015, 12, 11, 22, 0), location_city=u"kigali", location_country=u"rwanda", vrm_account = self.VRM, installed_kw=123.0, position=self.location, system_voltage=24, number_of_panels=12, vrm_site_id=213, battery_bank_capacity=12321, has_genset=True, has_grid=True) self.data_point = Data_Point.objects.create(site=self.site, soc=10, battery_voltage=20, time=timezone.now(), AC_input=0.0, AC_output=15.0, AC_Load_in=0.0, AC_Load_out=-0.7) #create sesh rmc account self.test_rmc_account = Sesh_RMC_Account(site=self.site, api_key='lcda5c15ae5cdsac464zx8f49asc16a') self.test_rmc_account.save() #create test user self.test_sesh_user = Sesh_User.objects.create_user( username="******", email="*****@*****.**", password="******", phone_number='250786688713' ) #assign a user to the sites assign_perm("view_Sesh_Site",self.test_sesh_user,self.site) generate_auto_rules(self.site.pk)
def handle_create_site(request): """ Handle parsing of RMC and VRM form and create models accordingly """ context_dict = {} form = None if request.method == 'POST': if request.POST.get('form_type',None) == 'rmc': # Handle RMC form creation #print "checking rmc form" context_dict['form_type'] = 'rmc' form = _create_site_rmc(request) else: # Handle VRM form creation context_dict['form_type'] = 'vrm' #print "checking vrm form" form = _create_site_vrm(request) context_dict['form'] = form context_dict, valid_form = _validate_form(form,context_dict) # Handle Form Errors if context_dict['error']: # Got Error return problem! # Delete VRM or RmC Account if this fails return render(request,'seshdash/initial-login.html',context_dict) for site in valid_form: # Finally site.save() # Initiate standard alarms generate_auto_rules(site.pk) # Initiate download if requred _download_data(request) return index(request)
def setUp(self): self._influx_db_name = 'test_db' self.i = Influx(database=self._influx_db_name) try: self.i.create_database(self._influx_db_name) #Generate random data points for 24h except: self.i.delete_database(self._influx_db_name) sleep(1) self.i.create_database(self._influx_db_name) pass self.VRM = VRM_Account.objects.create(vrm_user_id='*****@*****.**',vrm_password="******") self.location = Geoposition(52.5,24.3) self.site = Sesh_Site.objects.create(site_name=u"Test site", comission_date=timezone.datetime(2015, 12, 11, 22, 0), location_city=u"kigali", location_country=u"rwanda", vrm_account = self.VRM, installed_kw=123.0, position=self.location, system_voltage=24, number_of_panels=12, vrm_site_id=213, battery_bank_capacity=12321, has_genset=True, has_grid=True) # Creating permissions for group content_type = ContentType.objects.get_for_model(Sesh_Site) self.permission = Permission.objects.create(codename='can_manage_sesh_site', name='Can add Sesh Site', content_type=content_type) self.data_point = Data_Point.objects.create(site=self.site, soc=10, battery_voltage=20, time=timezone.now(), AC_input=0.0, AC_output=15.0, AC_Load_in=0.0, AC_Load_out=-0.7) #create sesh rmc account self.test_rmc_account = Sesh_RMC_Account(site=self.site, api_key='lcda5c15ae5cdsac464zx8f49asc16a') self.test_rmc_account.save() #create rmc status self.test_rmc_status = RMC_status.objects.create(site=self.site, ip_address='127.0.0.1', minutes_last_contact=100, signal_strength=27, data_sent_24h=12, time=datetime.now()) self.test_rmc_status.save() #create influx datapoint self.influx_data_point = insert_point(self.site, 'battery_voltage', 10) #create test user self.test_user = Sesh_User.objects.create_user(username="******", email="*****@*****.**", password="******", phone_number='250786688713', on_call=True, send_mail=True, send_sms=True) # Creating test group self.test_organisation = Sesh_Organisation.objects.create(name='test_organisation', send_slack=True, slack_token=settings.SLACK_TEST_KEY) # Creating test channels self.test_channels = Slack_Channel.objects.create(organisation=self.test_organisation, name='test_alerts_channel', is_alert_channel=True) #assign a user to the sites assign_perm("view_Sesh_Site",self.test_user,self.site) generate_auto_rules(self.site.pk) influx_rule = Alert_Rule.objects.create(check_field='battery_voltage', operator='lt', site=self.site, value=20) alert.alert_generator() self.new_influx_data_point = insert_point(self.site, 'battery_voltage', 24) sleep(2) # Added sleep to wait for sometime until the point is written to the db # Create data point that will silence alert self.new_data_point = Data_Point.objects.create(site=self.site, soc=50, battery_voltage=24, time=timezone.now(), AC_input=0.0, AC_output=15.0, AC_Load_in=0.0, AC_Load_out=-0.7) self.new_rmc_status = RMC_status.objects.create(site=self.site, ip_address='127.0.0.1', minutes_last_contact=1, signal_strength=27, data_sent_24h=12, time=datetime.now()) self.client = Client()