def setUp(self): for s in range(0, SERVICE_NUMBER): service = Service( url='http://%s.fakeurl.com' % s, title='Title %s' % s, type='OGC_WMS', ) service.save() for l in range(0, 20): layer = Layer( name='Layer %s, from service %s' % (l, s), bbox_x0=-179, bbox_x1=179, bbox_y0=-89, bbox_y1=89, service=service ) layer.save() service.layer_set.add(layer) for c in range(0, TIMES_TO_CHECK): for s in range(0, SERVICE_NUMBER): service = Service.objects.all()[s] service.check() for layer in service.layer_set.all(): layer.check()
def populate_initial_services(): """ Populate a fresh installed Hypermap instances with basic services. """ services_list = ( ('Harvard WorldMap', 'Harvard WorldMap open source web geospatial platform', 'Hypermap:WorldMap', 'http://worldmap.harvard.edu'), ('NYPL MapWarper', 'The New York Public Library (NYPL) MapWarper web site', 'Hypermap:WARPER', 'http://maps.nypl.org/warper/maps'), ('Map Warper', 'The MapWarper web site developed, hosted and maintained by Tim Waters', 'Hypermap:WARPER', 'http://mapwarper.net/maps'), ('WorldMap Warp', 'The MapWarper instance part of the Harvard WorldMap project', 'Hypermap:WARPER', 'http://warp.worldmap.harvard.edu/maps'), ('WFP GeoNode', 'World Food Programme GeoNode', 'OGC:WMS', 'http://geonode.wfp.org/geoserver/ows?'), ('NASA EARTHDATA', 'NASA EARTHDATA, powered by EOSDIS', 'OGC:WMTS', 'http://map1.vis.earthdata.nasa.gov/wmts-geo/1.0.0/WMTSCapabilities.xml' ), ) esri_endpoint = 'https://gis.ngdc.noaa.gov/arcgis/rest/services' print '*** Importing esri endpoint: %s' % esri_endpoint create_services_from_endpoint(esri_endpoint) for service in services_list: print '*** Importing %s' % service[0] service = Service(title=service[0], abstract=service[1], type=service[2], url=service[3]) service.save()
def RegisterFile(Service=None, FileName=None, ProvisionedSpace="10G"): if Service is None: raise StorageError('RegisterFile(): Service can not be None') if FileName is None: raise StorageError('RegisterFile(): FileName can not be None') vfilespace = StringSizeToBytes(ProvisionedSpace) if Service.freespace - vfilespace > 0: NewFile = File() NewFile.vfilename = FileName NewFile.ufid = GetUniqueFileID(FileName) NewFile.pfilesize = 0 NewFile.vfilesize = vfilespace NewFile.service = Service NewFile.pfilename = GetPhysicalFileName(Service.localpath, FileName) NewFile.status = 'O' NewFile.save() SFreeSpace = CalculateFreeSpace(Service) Service.freespace = SFreeSpace Service.save() return NewFile else: raise StorageError('RegisterFile(): No have left space')
def import_services(service_list): """Add any services from file to django database""" current_services = read_current_services() for service in service_list: if service not in current_services: new_service = Service(service_name=service) new_service.save()
def create_service_from_endpoint(endpoint, service_type, title=None, abstract=None, catalog=None): """ Create a service from an endpoint if it does not already exists. """ from models import Service if Service.objects.filter(url=endpoint, catalog=catalog).count() == 0: # check if endpoint is valid request = requests.get(endpoint) if request.status_code == 200: LOGGER.debug('Creating a %s service for endpoint=%s catalog=%s' % (service_type, endpoint, catalog)) service = Service(type=service_type, url=endpoint, title=title, abstract=abstract, csw_type='service', catalog=catalog) service.save() return service else: LOGGER.warning('This endpoint is invalid, status code is %s' % request.status_code) else: LOGGER.warning( 'A service for this endpoint %s in catalog %s already exists' % (endpoint, catalog)) return None
def create_service_from_endpoint(endpoint, service_type, title=None, abstract=None): """ Create a service from an endpoint if it does not already exists. """ from models import Service if Service.objects.filter(url=endpoint).count() == 0: # check if endpoint is valid request = requests.get(endpoint) if request.status_code == 200: print 'Creating a %s service for endpoint %s' % (service_type, endpoint) service = Service(type=service_type, url=endpoint, title=title, abstract=abstract) service.save() return service else: print 'This endpoint is invalid, status code is %s' % request.status_code else: print 'A service for this endpoint %s already exists' % endpoint return None
def populate_initial_services(): """ Populate a fresh installed Hypermap instances with basic services. """ services_list = ( ( 'Harvard WorldMap', 'Harvard WorldMap open source web geospatial platform', 'WM', 'http://worldmap.harvard.edu' ), ( 'NYPL MapWarper', 'The New York Public Library (NYPL) MapWarper web site', 'WARPER', 'http://maps.nypl.org/warper/maps' ), ( 'Map Warper', 'The MapWarper web site developed, hosted and maintained by Tim Waters', 'WARPER', 'http://mapwarper.net/maps' ), ( 'WorldMap Warp', 'The MapWarper instance part of the Harvard WorldMap project', 'WARPER', 'http://warp.worldmap.harvard.edu/maps' ), ( 'WFP GeoNode', 'World Food Programme GeoNode', 'OGC_WMS', 'http://geonode.wfp.org/geoserver/ows?' ), ( 'NASA EARTHDATA', 'NASA EARTHDATA, powered by EOSDIS', 'OGC_WMTS', 'http://map1.vis.earthdata.nasa.gov/wmts-geo/1.0.0/WMTSCapabilities.xml' ), ) esri_endpoint = 'https://gis.ngdc.noaa.gov/arcgis/rest/services' print '*** Importing esri endpoint: %s' % esri_endpoint create_services_from_endpoint(esri_endpoint) for service in services_list: print '*** Importing %s' % service[0] service = Service( title=service[0], abstract=service[1], type=service[2], url=service[3] ) service.save()
def test_creating_new_services(self): service = Service() service.name = "test" service.description = "Test Service" service.port = 8080 service.protocol = Service.HTTP service.save() all_services_in_database = Service.objects.all() self.assertEquals(len(all_services_in_database), 1) only_service_in_database = all_services_in_database[0] self.assertEquals(only_service_in_database, service) self.assertEquals(only_service_in_database.name, "test") self.assertEquals(only_service_in_database.description, "Test Service") self.assertEquals(only_service_in_database.port, 8080)
def on_post(self,request,response): # Get raw data from request body try: raw_data = request.stream.read() except Exception as ex: raise falcon.HTTPBadRequest(ex.message) # Jsonify the raw data try: data = json.loads(raw_data,encoding='utf-8') except ValueError: raise falcon.HTTPError(falcon.HTTP_400,'Unrecognized JSON','Unable to decode request body') # Return 404 if <tenant> does not exist if not data['tenant']: response.status = falcon.HTTP_404 return # Return 404 if <integration_type> does not exist if not data['integration_type']: response.status = falcon.HTTP_404 return # Validate data emptyValueKey = common.isEmpty(data['configuration']) if emptyValueKey: raise falcon.HTTPBadRequest('{} is missing'.format(emptyValueKey)) return emptyValueKey = common.isEmpty(data['configuration']['wsdl_urls']) if emptyValueKey: raise falcon.HTTPBadRequest('{} is missing'.format(emptyValueKey)) return # Query data from database result = Service.objects(tenant__iexact=data['tenant'], integration_type__iexact=data['integration_type']).exclude('id') ## No record found - insert new record. Else, update the existing record if result.count() < 1: new_config = Service(**data) new_config.save() else: result.modify(upsert=True, new=True, set__configuration=data['configuration']) # Response response.status = falcon.HTTP_200 response.body = result.to_json()
def create(self, validated_data): providers_data = validated_data.pop('provider') owners_data = validated_data.pop('owner') applications_data = validated_data.pop('application') clients_data = validated_data.pop('client') project_data = validated_data.pop('project') service = Service(**validated_data) service.project_id = project_data.id #project_data to lista service.save() for provider_data in providers_data: Provider.objects.create(service=service, **provider_data) for owner_data in owners_data: Owner.objects.create(service=service, **owner_data) for application_data in applications_data: Application.objects.create(service=service, **application_data) for client_data in clients_data: Client.objects.create(service=service, **client_data) return service
def services_create(request, competition=None): """ Create services in the competition """ c = getAuthValues(request, {}) if c["auth_name"] != "auth_team_white": return HttpResponseRedirect("/") c["comp_obj"] = Competition.objects.get(compurl=competition) if not bool(len(ServiceModule.objects.all())): return HttpResponseRedirect("/admin/competitions/%s/services/" % c["comp_obj"].compurl) if request.method != "POST": # Serve empty form without acting on any data c.update(csrf(request)) c["form"] = CreateServiceForm() c["action"] = "create" return render_to_response('CompConfig/services_create-edit.html', c) # Prepare post data for validation form_dict = request.POST.copy().dict() serv_form = CreateServiceForm(form_dict) if not serv_form.is_valid(): print serv_form.errors return render_to_response('CompConfig/services_create-edit.html', c) # Now prepare post data for service object instantiation form_dict.pop('csrfmiddlewaretoken', None) form_dict["compid"] = c["comp_obj"].compid form_dict["servicemodule"] = ServiceModule.objects.get( servmdulid=form_dict["servicemodule"]) # Set network connection display if int(form_dict["connectip"]) == 1: form_dict['connectip'] = True form_dict["connect_display"] = "IP Address" else: form_dict['connectip'] = False form_dict["connect_display"] = "Domain Name" # Clean machine address value if form_dict['connectip'] and form_dict['networkloc'][0] == ".": form_dict['networkloc'] = form_dict['networkloc'][1:] elif not form_dict['connectip'] and form_dict['networkloc'][-1] == ".": form_dict['networkloc'] = form_dict['networkloc'][:-1] serv_obj = Service(**form_dict) serv_obj.save() return HttpResponseRedirect("/admin/competitions/%s/services/" % competition)
def SaveService(lst): try: logok = '' logero = '' first_sheet = lst.sheet_by_index(0) for r in range(1, first_sheet.nrows): m = first_sheet.cell(r, 0).value m1 = ServerInfo.objects.get(IP=first_sheet.cell(r, 8).value).id chk = Service.objects.filter(ServiceName=m, Server_id=m1).exists() # chkip = Service.objects.filter(Server_id = m1).exists() # Service.objects.filter(ServiceName=request.POST['name'], Server_id=request.POST['title']).exists() if chk == False: server = ServerInfo.objects.get( IP=first_sheet.cell(r, 8).value) sv = Service( ServiceName=m, ServiceType=first_sheet.cell(r, 1).value, URL=first_sheet.cell(r, 2).value, RunningAs=first_sheet.cell(r, 3).value, Description=first_sheet.cell(r, 4).value, URLWEBS=first_sheet.cell(r, 5).value, Header=first_sheet.cell(r, 6).value, Body=first_sheet.cell(r, 7).value, DateCreate=first_sheet.cell(r, 9).value, Owner=first_sheet.cell(r, 10).value, Server_id=server.id, ) sv.save() logok += first_sheet.cell(r, 0).value.encode("utf-8") + '/' elif chk == True: logero += first_sheet.cell(r, 0).value.encode("utf-8") + '/' # for svc in lst: # server = ServerInfo.objects.get(IP=svc['Server_IP']) # sv=Service( # ServiceName = svc['ServiceName'], # ServiceType = svc['ServiceType'], # Description = debug, # ) # sv.save() return {'y0': logok, 'y1': logero} except: return False
def create_service_from_endpoint(endpoint, service_type, title=None, abstract=None): """ Create a service from an endpoint if it does not already exists. """ from models import Service if Service.objects.filter(url=endpoint).count() == 0: # check if endpoint is valid request = requests.get(endpoint) if request.status_code == 200: print 'Creating a %s service for endpoint %s' % (service_type, endpoint) service = Service( type=service_type, url=endpoint, title=title, abstract=abstract ) service.save() return service else: print 'This endpoint is invalid, status code is %s' % request.status_code else: print 'A service for this endpoint %s already exists' % endpoint return None
def services_create(request, competition = None): """ Create services in the competition """ c = getAuthValues(request, {}) if c["auth_name"] != "auth_team_white": return HttpResponseRedirect("/") c["comp_obj"] = Competition.objects.get(compurl = competition) if not bool(len(ServiceModule.objects.all())): return HttpResponseRedirect("/admin/competitions/%s/services/" % c["comp_obj"].compurl) if request.method != "POST": # Serve empty form without acting on any data c.update(csrf(request)) c["form"] = CreateServiceForm() c["action"] = "create" return render_to_response('CompConfig/services_create-edit.html', c) # Prepare post data for validation form_dict = request.POST.copy().dict() serv_form = CreateServiceForm(form_dict) if not serv_form.is_valid(): print serv_form.errors return render_to_response('CompConfig/services_create-edit.html', c) # Now prepare post data for service object instantiation form_dict.pop('csrfmiddlewaretoken', None) form_dict["compid"] = c["comp_obj"].compid form_dict["servicemodule"] = ServiceModule.objects.get(servmdulid = form_dict["servicemodule"]) # Set network connection display if int(form_dict["connectip"]) == 1: form_dict['connectip'] = True form_dict["connect_display"] = "IP Address" else: form_dict['connectip'] = False form_dict["connect_display"] = "Domain Name" # Clean machine address value if form_dict['connectip'] and form_dict['networkloc'][0] == ".": form_dict['networkloc'] = form_dict['networkloc'][1:] elif not form_dict['connectip'] and form_dict['networkloc'][-1] == ".": form_dict['networkloc'] = form_dict['networkloc'][:-1] serv_obj = Service(**form_dict) serv_obj.save() return HttpResponseRedirect("/admin/competitions/%s/services/" % competition)
def create_service_from_endpoint(endpoint, service_type, title=None, abstract=None, catalog=None): """ Create a service from an endpoint if it does not already exists. """ from models import Service if Service.objects.filter(url=endpoint, catalog=catalog).count() == 0: # check if endpoint is valid request = requests.get(endpoint) if request.status_code == 200: LOGGER.debug('Creating a %s service for endpoint=%s catalog=%s' % (service_type, endpoint, catalog)) service = Service( type=service_type, url=endpoint, title=title, abstract=abstract, csw_type='service', catalog=catalog ) service.save() return service else: LOGGER.warning('This endpoint is invalid, status code is %s' % request.status_code) else: LOGGER.warning('A service for this endpoint %s in catalog %s already exists' % (endpoint, catalog)) return None
def setUp(self): for s in range(0, SERVICE_NUMBER): service = Service( url='http://%s.fakeurl.com' % s, title='Title %s' % s, type='OGC_WMS', ) service.save() for l in range(0, 20): layer = Layer(name='Layer %s, from service %s' % (l, s), bbox_x0=-179, bbox_x1=179, bbox_y0=-89, bbox_y1=89, service=service) layer.save() service.layer_set.add(layer) for c in range(0, TIMES_TO_CHECK): for s in range(0, SERVICE_NUMBER): service = Service.objects.all()[s] service.check() for layer in service.layer_set.all(): layer.check()
def test_service_creation(self): user = User(username='******') user.save() cl = Client() cl.force_login(user) selected_queries_dict = { "Q1": { "query_id": "313", "paragraphs": ["20180501-135246_1102090558"] } } selected_queries = json.dumps(selected_queries_dict) # print selected_queries arguments_dict = { "filter-arguments": [{ "default_lat_max": "42.098", "areaSelectHeight": "100", "name": "area_select", "areaSelectWidth": "150", "title": "Select the area", "default": "<<35.675,-12.744>,<42.098,-1.846>>", "default_lat_min": "35.675", "filter_op": " inside_rect", "default_lon_min": "-12.744", "default_lon_max": "-1.846", "query": "Q1", "type": "SPATIAL_COV", "filter_b": "<<35.675,-12.744>,<42.098,-1.846>>", "filter_a": "<36,38>" }, { "name": "start_date", "title": "Starting Date", "default": "2018-01-01 00:00", "filter_op": "gte", "query": "Q1", "type": "DATETIME", "filter_b": "2018-01-01 00:00", "filter_a": "i0_time" }, { "name": "end_date", "title": "Ending Date", "default": "2018-01-31 00:00", "filter_op": "lte", "query": "Q1", "type": "DATETIME", "filter_b": "2018-01-31 00:00", "filter_a": "i0_time" }], "algorithm-arguments": [] } arguments = json.dumps(arguments_dict) # print arguments notebook_id = "2DP3SVY7D" # print notebook_id output_html = textwrap.dedent( """<div id="service_container" class="text-center"> <div id="service_config_container" class="text-center"> <button type="button" id="argsCollapseBtn" class="btn btn-md btn-primary" data-toggle="collapse" data-target="#serviceConfigCollapse"> Configure </button> <div id="serviceConfigCollapse" class="collapse in" > <div class="well"> <h4 class="modal-title">Please give your input</h4> <form id="service_args_container" class="modal-body" style="padding: 0 25%"> </form> <button type="button" class="btn btn-success" data-toggle="collapse" data-target="#serviceConfigCollapse" id="submitServiceConfig">Submit</button> <button type="button" class="btn btn-default" data-toggle="collapse" data-target="#serviceConfigCollapse">Cancel</button> </div> </div> </div> <div id="service_result_container" class="text-center"> {% load static %} <div class="loadingDiv"> <img src="http://assets.motherjones.com/interactives/projects/features/koch-network/shell19/img/loading.gif"/> </div> <table class="table table-full-width"> <thead> <tr> <th>Maximum Height</th><th>Average Height</th><th>Standard Deviation</th> </tr> </thead> <tbody> <tr> <td>{{ result.max_height }}</td><td>{{ result.av_height }}</td><td>{{ result.stand_dev_height }}</td> </tr> </tbody> </table> <table class="table table-full-width"> <thead> <tr> <th>Maximum Period</th><th>Average Period</th><th>Standard Deviation</th> </tr> </thead> <tbody> <tr> <td>{{ result.max_period }}</td><td>{{ result.av_period }}</td><td>{{ result.stand_dev_period }}</td> </tr> </tbody> </table> <div class="panel-group row"> <div class="panel panel-default col-sm-3"> <div class="panel-heading">Maximum Power</div> <div class="panel-body">{{ result.max_power }}</div> </div> <div class="panel panel-default col-sm-3"> <div class="panel-heading">Minimum Power</div> <div class="panel-body">{{ result.min_power }}</div> </div> <div class="panel panel-default col-sm-3"> <div class="panel-heading">Average Power</div> <div class="panel-body">{{ result.av_power }}</div> </div> <div class="panel panel-default col-sm-3"> <div class="panel-heading">Energy</div> <div class="panel-body">{{ result.energy }}</div> </div> </div> <ul class="nav nav-pills"> <li class="active"><a data-toggle="pill" href="#viz1">Wave significant height Line Chart</a></li> <li><a data-toggle="pill" href="#viz2">Power Line Chart</a></li> <li><a data-toggle="pill" href="#viz3">Power Histogram</a></li> </ul> <div class="tab-content"> <div class="viz_container row tab-pane fade in active" id="viz1"> <div class="loadingFrame"> <img src="{% static 'img/loading_gif.gif' %}"/> </div> <iframe src="http://*****:*****@media screen and (min-width: 768px){.modal:before {display: inline-block;vertical-align: middle;content: " ";height: 100%;}} .modal-backdrop {z-index:-1;} #service_result_container{ position: relative; min-height: 500px; width: 100%; /*background-color: white;*/ display: none;} .loadingDiv, .loadingFrame{position:absolute;z-index:999;display:none;right:0;left:0;bottom:0;top:0;background:#fff;text-align:center;border:thin dashed;} .viz_container{position: relative; height: 400px; width: 100%; margin: 1% 0;} #service_result_container iframe{border: none; box-shadow: 0 0 3px 0px #a28e8eb0;} th{text-align: center; font-weight: 600 !important;} #service_result_container .nav>li {display: inline-block !important;width: 300px !important; float: none !important;}""" ) # print output_css output_js = textwrap.dedent("""// <script type="text/javascript"> // Get form fields of all the service arguments $(document).ready(function () { $.ajax({ url: '/service_builder/load_service_args_form_fields/', data: { service_id: get_service_id() }, type: 'GET', success: function(form_fields){ $("#service_args_container").html(form_fields); } }); }); // Submit the service arguments $("#submitServiceConfig").click(function (element) { $.ajax({ url: '/service_builder/service/'+get_service_id()+'/execute/', data: $('#service_args_container').serialize(), type: 'GET', beforeSend: function(){ $("#service_result_container").show(); $(".loadingDiv").css( "display", "block" ); }, success: function(result){ $("#service_result_container").html( result ); // $("iframe").each(function () { // var src = $( this ).attr('data-src'); // jQuery.each(result['query_mapping'], function(query, temp_query) { // src = src.replace(new RegExp("query="+query+"&"), "query="+temp_query+"&"); // src = src.replace(new RegExp("query="+query+"$"), "query="+temp_query); // }); // $( this ).attr({'src': src}); // }); $(".loadingDiv").css( "display", "none" ); $(".loadingFrame").css( "display", "block" ); $(".viz_container iframe").on( "load", function(){ $(this).siblings(".loadingFrame").css( "display", "none" ) }); }, error: function () { $(".loadingDiv").css( "display", "none" ); $("#service_result_container").hide(); alert('An error occured'); } }); }); // </script>""") # print output_js title = "My test service" description = "My test description" price = "free" private = True service = Service(user=user) service.save() service_id = service.id payload = { "selected_queries": selected_queries, "exposed_args": arguments, "notebook_id": notebook_id, "output_html": output_html, "output_css": output_css, "output_js": output_js, "title": str(title), "description": description, "price": price, "private": private, "service_id": service_id } url = "http://localhost:8000/service_builder/publish/" cl.post(url, payload) service = Service.objects.get(pk=service_id) self.assertEqual(str(service.title), str(title)) self.assertEqual(service.private, private) self.assertEqual(service.published, True) self.assertEqual(service.price, price) self.assertEqual(service.description, description) self.assertEqual(service.notebook_id, notebook_id) self.assertEqual(service.output_html, output_html) self.assertEqual(service.output_css, output_css) self.assertEqual(service.output_js, output_js) self.assertDictEqual(service.arguments, arguments_dict) self.assertEqual(service.queries, selected_queries_dict)
class ServicesViewsTest(TestCase): username = "******" password = "******" def setUp(self): self.group, created = Group.objects.get_or_create(name='test') self.user, created = DjangoUser.objects.get_or_create(username=self.username) self.user.set_password(self.password) self.user.save() perspective, created = Perspective.objects.get_or_create(name='default') perspective.set_default_user() perspective.save() ModuleSetting.set('default_perspective', perspective.id) self.contact_type = ContactType(name='test') self.contact_type.set_default_user() self.contact_type.save() self.contact = Contact(name='test', contact_type=self.contact_type) self.contact.set_default_user() self.contact.save() self.status = TicketStatus(name='TestStatus') self.status.set_default_user() self.status.save() self.queue = TicketQueue( name='TestQueue', default_ticket_status=self.status) self.queue.set_default_user() self.queue.save() self.ticket = Ticket( name='TestTicket', status=self.status, queue=self.queue) self.ticket.set_default_user() self.ticket.save() self.agent = ServiceAgent(related_user=self.user.profile, available_from=datetime.time(9), available_to=datetime.time(17)) self.agent.set_default_user() self.agent.save() self.service = Service(name='test') self.service.set_default_user() self.service.save() self.sla = ServiceLevelAgreement(name='test', service=self.service, client=self.contact, provider=self.contact) self.sla.set_default_user() self.sla.save() ###################################### # Testing views when user is logged in ###################################### def test_index_login(self): "Test index page with login at /services/" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('services')) self.assertEquals(response.status_code, 200) def test_index_owned(self): "Test index page with login at /services/owned" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('services_index_owned')) self.assertEquals(response.status_code, 200) def test_index_assigned(self): "Test index page with login at /services/assigned" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('services_index_assigned')) self.assertEquals(response.status_code, 200) # Queues def test_queue_add(self): "Test page with login at /services/queue/add" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('services_queue_add')) self.assertEquals(response.status_code, 200) def test_queue_view(self): "Test page with login at /services/queue/view/<queue_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_queue_view', args=[self.queue.id])) self.assertEquals(response.status_code, 200) def test_queue_edit(self): "Test page with login at /services/queue/edit/<queue_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_queue_edit', args=[self.queue.id])) self.assertEquals(response.status_code, 200) def test_queue_delete(self): "Test page with login at /services/queue/delete/<queue_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_queue_delete', args=[self.queue.id])) self.assertEquals(response.status_code, 200) # Statuses def test_status_view(self): "Test index page with login at /services/status/view/<status_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_status_view', args=[self.status.id])) self.assertEquals(response.status_code, 200) def test_status_edit(self): "Test index page with login at /services/status/edit/<status_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_status_edit', args=[self.status.id])) self.assertEquals(response.status_code, 200) def test_status_delete(self): "Test index page with login at /services/status/delete/<status_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_status_delete', args=[self.status.id])) self.assertEquals(response.status_code, 200) def test_status_add(self): "Test index page with login at /services/status/add/" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('services_status_add')) self.assertEquals(response.status_code, 200) # Tickets def test_ticket_add(self): "Test page with login at /services/ticket/add" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('services_ticket_add')) self.assertEquals(response.status_code, 200) def test_ticket_add_by_queue(self): "Test page with login at /services/ticket/add/queue/(?P<queue_id>\d+)" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_ticket_add_by_queue', args=[self.queue.id])) self.assertEquals(response.status_code, 200) def test_ticket_view(self): "Test page with login at /services/ticket/view/<ticket_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_ticket_view', args=[self.ticket.id])) self.assertEquals(response.status_code, 200) def test_ticket_edit(self): "Test page with login at /services/ticket/edit/<ticket_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_ticket_edit', args=[self.ticket.id])) self.assertEquals(response.status_code, 200) def test_ticket_delete(self): "Test page with login at /services/ticket/delete/<ticket_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_ticket_delete', args=[self.ticket.id])) self.assertEquals(response.status_code, 200) def test_ticket_set_status(self): "Test page with login at /services/ticket/set/(?P<ticket_id>\d+)/status/(?P<status_id>\d+)" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_ticket_set_status', args=[self.ticket.id, self.status.id])) self.assertEquals(response.status_code, 200) # Settings def test_settings_view(self): "Test page with login at /services/settings/view" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('services_settings_view')) self.assertEquals(response.status_code, 200) def test_settings_edit(self): "Test page with login at /services/settings/edit" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('services_settings_view')) self.assertEquals(response.status_code, 200) # Catalogue def test_service_catalogue(self): "Test page with login at /services/catalogue" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('services_service_catalogue')) self.assertEquals(response.status_code, 200) # Services def test_service_view(self): "Test page with login at /services/service/view/<service_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_service_view', args=[self.service.id])) self.assertEquals(response.status_code, 200) def test_service_edit(self): "Test page with login at /services/service/edit/<service_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_service_edit', args=[self.service.id])) self.assertEquals(response.status_code, 200) def test_service_delete(self): "Test page with login at /services/service/delete/<service_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_service_delete', args=[self.service.id])) self.assertEquals(response.status_code, 200) def test_service_add(self): "Test page with login at /services/service/add" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('services_service_add')) self.assertEquals(response.status_code, 200) # SLAs def test_sla_index(self): "Test page with login at /services/sla" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('services_sla_index')) self.assertEquals(response.status_code, 200) def test_sla_view(self): "Test page with login at /services/sla/view/<sla_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_sla_view', args=[self.sla.id])) self.assertEquals(response.status_code, 200) def test_sla_edit(self): "Test page with login at /services/sla/edit/<sla_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_sla_edit', args=[self.sla.id])) self.assertEquals(response.status_code, 200) def test_sla_delete(self): "Test page with login at /services/sla/delete/<sla_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_sla_delete', args=[self.sla.id])) self.assertEquals(response.status_code, 200) def test_sla_add(self): "Test page with login at /services/sla/add" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('services_sla_index')) self.assertEquals(response.status_code, 200) # Agents def test_agent_index(self): "Test page with login at /services/agent" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('services_agent_index')) self.assertEquals(response.status_code, 200) def test_agent_view(self): "Test page with login at /services/agent/view/<agent_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_agent_view', args=[self.agent.id])) self.assertEquals(response.status_code, 200) def test_agent_edit(self): "Test page with login at /services/agent/edit/<agent_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_agent_edit', args=[self.agent.id])) self.assertEquals(response.status_code, 200) def test_agent_delete(self): "Test page with login at /services/agent/delete/<agent_id>" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get( reverse('services_agent_delete', args=[self.agent.id])) self.assertEquals(response.status_code, 200) def test_agent_add(self): "Test page with login at /services/agent/add" response = self.client.post('/accounts/login', {'username': self.username, 'password': self.password}) self.assertRedirects(response, '/') response = self.client.get(reverse('services_agent_add')) self.assertEquals(response.status_code, 200) ###################################### # Testing views when user is not logged in ###################################### def test_index(self): "Test index page at /services/" response = self.client.get(reverse('services')) # Redirects as unauthenticated self.assertRedirects(response, reverse('user_login')) def test_index_owned_out(self): "Testing /services/owned" response = self.client.get(reverse('services_index_owned')) self.assertRedirects(response, reverse('user_login')) def test_index_assigned_out(self): "Testing /services/assigned" response = self.client.get(reverse('services_index_assigned')) self.assertRedirects(response, reverse('user_login')) # Queues def test_queue_add_out(self): "Testing /services/queue/add" response = self.client.get(reverse('services_queue_add')) self.assertRedirects(response, reverse('user_login')) def test_queue_view_out(self): "Testing /services/queue/view/<queue_id>" response = self.client.get( reverse('services_queue_view', args=[self.queue.id])) self.assertRedirects(response, reverse('user_login')) def test_queue_edit_out(self): "Testing /services/queue/edit/<queue_id>" response = self.client.get( reverse('services_queue_edit', args=[self.queue.id])) self.assertRedirects(response, reverse('user_login')) def test_queue_delete_out(self): "Testing /services/queue/delete/<queue_id>" response = self.client.get( reverse('services_queue_delete', args=[self.queue.id])) self.assertRedirects(response, reverse('user_login')) # Statuses def test_status_view_out(self): "Testing /services/status/view/<status_id>" response = self.client.get( reverse('services_status_view', args=[self.status.id])) self.assertRedirects(response, reverse('user_login')) def test_status_edit_out(self): "Testing /services/status/edit/<status_id>" response = self.client.get( reverse('services_status_edit', args=[self.status.id])) self.assertRedirects(response, reverse('user_login')) def test_status_delete_out(self): "Testing /services/status/delete/<status_id>" response = self.client.get( reverse('services_status_delete', args=[self.status.id])) self.assertRedirects(response, reverse('user_login')) def test_status_add_out(self): "Testing /services/status/add/" response = self.client.get(reverse('services_status_add')) self.assertRedirects(response, reverse('user_login')) # Tickets def test_ticket_add_out(self): "Testing /services/ticket/add" response = self.client.get(reverse('services_ticket_add')) self.assertRedirects(response, reverse('user_login')) def test_ticket_add_by_queue_out(self): "Testing /services/ticket/add/queue/(?P<queue_id>\d+)" response = self.client.get( reverse('services_ticket_add_by_queue', args=[self.queue.id])) self.assertRedirects(response, reverse('user_login')) def test_ticket_view_out(self): "Testing /services/ticket/view/<ticket_id>" response = self.client.get( reverse('services_ticket_view', args=[self.ticket.id])) self.assertRedirects(response, reverse('user_login')) def test_ticket_edit_out(self): "Testing /services/ticket/edit/<ticket_id>" response = self.client.get( reverse('services_ticket_edit', args=[self.ticket.id])) self.assertRedirects(response, reverse('user_login')) def test_ticket_delete_out(self): "Testing /services/ticket/delete/<ticket_id>" response = self.client.get( reverse('services_ticket_delete', args=[self.ticket.id])) self.assertRedirects(response, reverse('user_login')) def test_ticket_set_status_out(self): "Testing /services/ticket/set/(?P<ticket_id>\d+)/status/(?P<status_id>\d+)" response = self.client.get( reverse('services_ticket_set_status', args=[self.ticket.id, self.status.id])) self.assertRedirects(response, reverse('user_login')) # Settings def test_settings_view_out(self): "Testing /services/settings/view" response = self.client.get(reverse('services_settings_view')) self.assertRedirects(response, reverse('user_login')) def test_settings_edit_out(self): "Testing /services/settings/edit" response = self.client.get(reverse('services_settings_view')) self.assertRedirects(response, reverse('user_login')) # Catalogue def test_service_catalogue_out(self): "Testing /services/catalogue" response = self.client.get(reverse('services_service_catalogue')) self.assertRedirects(response, reverse('user_login')) # Services def test_service_view_out(self): "Testing /services/service/view/<service_id>" response = self.client.get( reverse('services_service_view', args=[self.service.id])) self.assertRedirects(response, reverse('user_login')) def test_service_edit_out(self): "Testing /services/service/edit/<service_id>" response = self.client.get( reverse('services_service_edit', args=[self.service.id])) self.assertRedirects(response, reverse('user_login')) def test_service_delete_out(self): "Testing /services/service/delete/<service_id>" response = self.client.get( reverse('services_service_delete', args=[self.service.id])) self.assertRedirects(response, reverse('user_login')) def test_service_add_out(self): "Testing /services/service/add" response = self.client.get(reverse('services_service_add')) self.assertRedirects(response, reverse('user_login')) # SLAs def test_sla_index_out(self): "Testing /services/sla" response = self.client.get(reverse('services_sla_index')) self.assertRedirects(response, reverse('user_login')) def test_sla_view_out(self): "Testing /services/sla/view/<sla_id>" response = self.client.get( reverse('services_sla_view', args=[self.sla.id])) self.assertRedirects(response, reverse('user_login')) def test_sla_edit_out(self): "Testing /services/sla/edit/<sla_id>" response = self.client.get( reverse('services_sla_edit', args=[self.sla.id])) self.assertRedirects(response, reverse('user_login')) def test_sla_delete_out(self): "Testing /services/sla/delete/<sla_id>" response = self.client.get( reverse('services_sla_delete', args=[self.sla.id])) self.assertRedirects(response, reverse('user_login')) def test_sla_add_out(self): "Testing /services/sla/add" response = self.client.get(reverse('services_sla_index')) self.assertRedirects(response, reverse('user_login')) # Agents def test_agent_index_out(self): "Testing /services/agent" response = self.client.get(reverse('services_agent_index')) self.assertRedirects(response, reverse('user_login')) def test_agent_view_out(self): "Testing /services/agent/view/<agent_id>" response = self.client.get( reverse('services_agent_view', args=[self.agent.id])) self.assertRedirects(response, reverse('user_login')) def test_agent_edit_out(self): "Testing /services/agent/edit/<agent_id>" response = self.client.get( reverse('services_agent_edit', args=[self.agent.id])) self.assertRedirects(response, reverse('user_login')) def test_agent_delete_out(self): "Test page with login at /services/agent/delete/<agent_id>" response = self.client.get( reverse('services_agent_delete', args=[self.agent.id])) self.assertRedirects(response, reverse('user_login')) def test_agent_add_out(self): "Test page with login at /services/agent/add" response = self.client.get(reverse('services_agent_add')) self.assertRedirects(response, reverse('user_login'))
def post(self): form = Service.NewServiceForm(self.request.POST) if form.validate(): user = Service.save(self, form, LEGACY_TEMPLATE) else: self.response.write(LEGACY_TEMPLATE.render({"form": form}))
class ServicesViewsTest(TestCase): username = "******" password = "******" def setUp(self): self.group, created = Group.objects.get_or_create(name='test') self.user, created = DjangoUser.objects.get_or_create( username=self.username) self.user.set_password(self.password) self.user.save() perspective, created = Perspective.objects.get_or_create( name='default') perspective.set_default_user() perspective.save() ModuleSetting.set('default_perspective', perspective.id) self.contact_type = ContactType(name='test') self.contact_type.set_default_user() self.contact_type.save() self.contact = Contact(name='test', contact_type=self.contact_type) self.contact.set_default_user() self.contact.save() self.status = TicketStatus(name='TestStatus') self.status.set_default_user() self.status.save() self.queue = TicketQueue(name='TestQueue', default_ticket_status=self.status) self.queue.set_default_user() self.queue.save() self.ticket = Ticket(name='TestTicket', status=self.status, queue=self.queue) self.ticket.set_default_user() self.ticket.save() self.agent = ServiceAgent(related_user=self.user.profile, available_from=datetime.time(9), available_to=datetime.time(17)) self.agent.set_default_user() self.agent.save() self.service = Service(name='test') self.service.set_default_user() self.service.save() self.sla = ServiceLevelAgreement(name='test', service=self.service, client=self.contact, provider=self.contact) self.sla.set_default_user() self.sla.save() ###################################### # Testing views when user is logged in ###################################### def test_index_login(self): "Test index page with login at /services/" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('services')) self.assertEquals(response.status_code, 200) def test_index_owned(self): "Test index page with login at /services/owned" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('services_index_owned')) self.assertEquals(response.status_code, 200) def test_index_assigned(self): "Test index page with login at /services/assigned" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('services_index_assigned')) self.assertEquals(response.status_code, 200) # Queues def test_queue_add(self): "Test page with login at /services/queue/add" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('services_queue_add')) self.assertEquals(response.status_code, 200) def test_queue_view(self): "Test page with login at /services/queue/view/<queue_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_queue_view', args=[self.queue.id])) self.assertEquals(response.status_code, 200) def test_queue_edit(self): "Test page with login at /services/queue/edit/<queue_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_queue_edit', args=[self.queue.id])) self.assertEquals(response.status_code, 200) def test_queue_delete(self): "Test page with login at /services/queue/delete/<queue_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_queue_delete', args=[self.queue.id])) self.assertEquals(response.status_code, 200) # Statuses def test_status_view(self): "Test index page with login at /services/status/view/<status_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_status_view', args=[self.status.id])) self.assertEquals(response.status_code, 200) def test_status_edit(self): "Test index page with login at /services/status/edit/<status_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_status_edit', args=[self.status.id])) self.assertEquals(response.status_code, 200) def test_status_delete(self): "Test index page with login at /services/status/delete/<status_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_status_delete', args=[self.status.id])) self.assertEquals(response.status_code, 200) def test_status_add(self): "Test index page with login at /services/status/add/" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('services_status_add')) self.assertEquals(response.status_code, 200) # Tickets def test_ticket_add(self): "Test page with login at /services/ticket/add" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('services_ticket_add')) self.assertEquals(response.status_code, 200) def test_ticket_add_by_queue(self): "Test page with login at /services/ticket/add/queue/(?P<queue_id>\d+)" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_ticket_add_by_queue', args=[self.queue.id])) self.assertEquals(response.status_code, 200) def test_ticket_view(self): "Test page with login at /services/ticket/view/<ticket_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_ticket_view', args=[self.ticket.id])) self.assertEquals(response.status_code, 200) def test_ticket_edit(self): "Test page with login at /services/ticket/edit/<ticket_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_ticket_edit', args=[self.ticket.id])) self.assertEquals(response.status_code, 200) def test_ticket_delete(self): "Test page with login at /services/ticket/delete/<ticket_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_ticket_delete', args=[self.ticket.id])) self.assertEquals(response.status_code, 200) def test_ticket_set_status(self): "Test page with login at /services/ticket/set/(?P<ticket_id>\d+)/status/(?P<status_id>\d+)" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_ticket_set_status', args=[self.ticket.id, self.status.id])) self.assertEquals(response.status_code, 200) # Settings def test_settings_view(self): "Test page with login at /services/settings/view" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('services_settings_view')) self.assertEquals(response.status_code, 200) def test_settings_edit(self): "Test page with login at /services/settings/edit" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('services_settings_view')) self.assertEquals(response.status_code, 200) # Catalogue def test_service_catalogue(self): "Test page with login at /services/catalogue" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('services_service_catalogue')) self.assertEquals(response.status_code, 200) # Services def test_service_view(self): "Test page with login at /services/service/view/<service_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_service_view', args=[self.service.id])) self.assertEquals(response.status_code, 200) def test_service_edit(self): "Test page with login at /services/service/edit/<service_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_service_edit', args=[self.service.id])) self.assertEquals(response.status_code, 200) def test_service_delete(self): "Test page with login at /services/service/delete/<service_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_service_delete', args=[self.service.id])) self.assertEquals(response.status_code, 200) def test_service_add(self): "Test page with login at /services/service/add" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('services_service_add')) self.assertEquals(response.status_code, 200) # SLAs def test_sla_index(self): "Test page with login at /services/sla" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('services_sla_index')) self.assertEquals(response.status_code, 200) def test_sla_view(self): "Test page with login at /services/sla/view/<sla_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_sla_view', args=[self.sla.id])) self.assertEquals(response.status_code, 200) def test_sla_edit(self): "Test page with login at /services/sla/edit/<sla_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_sla_edit', args=[self.sla.id])) self.assertEquals(response.status_code, 200) def test_sla_delete(self): "Test page with login at /services/sla/delete/<sla_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_sla_delete', args=[self.sla.id])) self.assertEquals(response.status_code, 200) def test_sla_add(self): "Test page with login at /services/sla/add" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('services_sla_index')) self.assertEquals(response.status_code, 200) # Agents def test_agent_index(self): "Test page with login at /services/agent" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('services_agent_index')) self.assertEquals(response.status_code, 200) def test_agent_view(self): "Test page with login at /services/agent/view/<agent_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_agent_view', args=[self.agent.id])) self.assertEquals(response.status_code, 200) def test_agent_edit(self): "Test page with login at /services/agent/edit/<agent_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_agent_edit', args=[self.agent.id])) self.assertEquals(response.status_code, 200) def test_agent_delete(self): "Test page with login at /services/agent/delete/<agent_id>" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get( reverse('services_agent_delete', args=[self.agent.id])) self.assertEquals(response.status_code, 200) def test_agent_add(self): "Test page with login at /services/agent/add" response = self.client.post('/accounts/login', { 'username': self.username, 'password': self.password }) self.assertRedirects(response, '/') response = self.client.get(reverse('services_agent_add')) self.assertEquals(response.status_code, 200) ###################################### # Testing views when user is not logged in ###################################### def test_index(self): "Test index page at /services/" response = self.client.get(reverse('services')) # Redirects as unauthenticated self.assertRedirects(response, reverse('user_login')) def test_index_owned_out(self): "Testing /services/owned" response = self.client.get(reverse('services_index_owned')) self.assertRedirects(response, reverse('user_login')) def test_index_assigned_out(self): "Testing /services/assigned" response = self.client.get(reverse('services_index_assigned')) self.assertRedirects(response, reverse('user_login')) # Queues def test_queue_add_out(self): "Testing /services/queue/add" response = self.client.get(reverse('services_queue_add')) self.assertRedirects(response, reverse('user_login')) def test_queue_view_out(self): "Testing /services/queue/view/<queue_id>" response = self.client.get( reverse('services_queue_view', args=[self.queue.id])) self.assertRedirects(response, reverse('user_login')) def test_queue_edit_out(self): "Testing /services/queue/edit/<queue_id>" response = self.client.get( reverse('services_queue_edit', args=[self.queue.id])) self.assertRedirects(response, reverse('user_login')) def test_queue_delete_out(self): "Testing /services/queue/delete/<queue_id>" response = self.client.get( reverse('services_queue_delete', args=[self.queue.id])) self.assertRedirects(response, reverse('user_login')) # Statuses def test_status_view_out(self): "Testing /services/status/view/<status_id>" response = self.client.get( reverse('services_status_view', args=[self.status.id])) self.assertRedirects(response, reverse('user_login')) def test_status_edit_out(self): "Testing /services/status/edit/<status_id>" response = self.client.get( reverse('services_status_edit', args=[self.status.id])) self.assertRedirects(response, reverse('user_login')) def test_status_delete_out(self): "Testing /services/status/delete/<status_id>" response = self.client.get( reverse('services_status_delete', args=[self.status.id])) self.assertRedirects(response, reverse('user_login')) def test_status_add_out(self): "Testing /services/status/add/" response = self.client.get(reverse('services_status_add')) self.assertRedirects(response, reverse('user_login')) # Tickets def test_ticket_add_out(self): "Testing /services/ticket/add" response = self.client.get(reverse('services_ticket_add')) self.assertRedirects(response, reverse('user_login')) def test_ticket_add_by_queue_out(self): "Testing /services/ticket/add/queue/(?P<queue_id>\d+)" response = self.client.get( reverse('services_ticket_add_by_queue', args=[self.queue.id])) self.assertRedirects(response, reverse('user_login')) def test_ticket_view_out(self): "Testing /services/ticket/view/<ticket_id>" response = self.client.get( reverse('services_ticket_view', args=[self.ticket.id])) self.assertRedirects(response, reverse('user_login')) def test_ticket_edit_out(self): "Testing /services/ticket/edit/<ticket_id>" response = self.client.get( reverse('services_ticket_edit', args=[self.ticket.id])) self.assertRedirects(response, reverse('user_login')) def test_ticket_delete_out(self): "Testing /services/ticket/delete/<ticket_id>" response = self.client.get( reverse('services_ticket_delete', args=[self.ticket.id])) self.assertRedirects(response, reverse('user_login')) def test_ticket_set_status_out(self): "Testing /services/ticket/set/(?P<ticket_id>\d+)/status/(?P<status_id>\d+)" response = self.client.get( reverse('services_ticket_set_status', args=[self.ticket.id, self.status.id])) self.assertRedirects(response, reverse('user_login')) # Settings def test_settings_view_out(self): "Testing /services/settings/view" response = self.client.get(reverse('services_settings_view')) self.assertRedirects(response, reverse('user_login')) def test_settings_edit_out(self): "Testing /services/settings/edit" response = self.client.get(reverse('services_settings_view')) self.assertRedirects(response, reverse('user_login')) # Catalogue def test_service_catalogue_out(self): "Testing /services/catalogue" response = self.client.get(reverse('services_service_catalogue')) self.assertRedirects(response, reverse('user_login')) # Services def test_service_view_out(self): "Testing /services/service/view/<service_id>" response = self.client.get( reverse('services_service_view', args=[self.service.id])) self.assertRedirects(response, reverse('user_login')) def test_service_edit_out(self): "Testing /services/service/edit/<service_id>" response = self.client.get( reverse('services_service_edit', args=[self.service.id])) self.assertRedirects(response, reverse('user_login')) def test_service_delete_out(self): "Testing /services/service/delete/<service_id>" response = self.client.get( reverse('services_service_delete', args=[self.service.id])) self.assertRedirects(response, reverse('user_login')) def test_service_add_out(self): "Testing /services/service/add" response = self.client.get(reverse('services_service_add')) self.assertRedirects(response, reverse('user_login')) # SLAs def test_sla_index_out(self): "Testing /services/sla" response = self.client.get(reverse('services_sla_index')) self.assertRedirects(response, reverse('user_login')) def test_sla_view_out(self): "Testing /services/sla/view/<sla_id>" response = self.client.get( reverse('services_sla_view', args=[self.sla.id])) self.assertRedirects(response, reverse('user_login')) def test_sla_edit_out(self): "Testing /services/sla/edit/<sla_id>" response = self.client.get( reverse('services_sla_edit', args=[self.sla.id])) self.assertRedirects(response, reverse('user_login')) def test_sla_delete_out(self): "Testing /services/sla/delete/<sla_id>" response = self.client.get( reverse('services_sla_delete', args=[self.sla.id])) self.assertRedirects(response, reverse('user_login')) def test_sla_add_out(self): "Testing /services/sla/add" response = self.client.get(reverse('services_sla_index')) self.assertRedirects(response, reverse('user_login')) # Agents def test_agent_index_out(self): "Testing /services/agent" response = self.client.get(reverse('services_agent_index')) self.assertRedirects(response, reverse('user_login')) def test_agent_view_out(self): "Testing /services/agent/view/<agent_id>" response = self.client.get( reverse('services_agent_view', args=[self.agent.id])) self.assertRedirects(response, reverse('user_login')) def test_agent_edit_out(self): "Testing /services/agent/edit/<agent_id>" response = self.client.get( reverse('services_agent_edit', args=[self.agent.id])) self.assertRedirects(response, reverse('user_login')) def test_agent_delete_out(self): "Test page with login at /services/agent/delete/<agent_id>" response = self.client.get( reverse('services_agent_delete', args=[self.agent.id])) self.assertRedirects(response, reverse('user_login')) def test_agent_add_out(self): "Test page with login at /services/agent/add" response = self.client.get(reverse('services_agent_add')) self.assertRedirects(response, reverse('user_login'))