def setUp(self): self.p = Point(-8515941.0, 4953519.0) self.instances = [ make_instance(point=self.p), make_instance(point=self.p) ] self.commander_users = [ make_commander_user(i, username='******' % i.pk) for i in self.instances] for i in range(len(self.instances)): set_write_permissions(self.instances[i], self.commander_users[i], 'Plot', ['udf:Test choice']) self.choice_udfds = [ UserDefinedFieldDefinition.objects.create( instance=i, model_type='Plot', datatype=json.dumps({'type': 'choice', 'choices': ['a', 'b', 'c']}), iscollection=False, name='Test choice') for i in self.instances] self.plots = [ Plot(geom=self.p, instance=i) for i in self.instances] for i in range(len(self.plots)): self.plots[i].save_with_user(self.commander_users[i]) psycopg2.extras.register_hstore(connection.cursor(), globally=True)
def setUp(self): self.p1 = Point(0, 0) self.p2 = Point(5, 5) self.instance1 = make_instance(point=self.p1) self.user = make_user_with_default_role(self.instance1, 'auser') self.global_role = self.instance1.default_role self.instance2 = make_instance(name='i2') self.instance2.save() iuser = InstanceUser(instance=self.instance2, user=self.user, role=self.global_role) iuser.save_with_user(self.user) for i in [self.instance1, self.instance2]: FieldPermission(model_name='Plot', field_name='geom', permission_level=FieldPermission.WRITE_DIRECTLY, role=self.global_role, instance=i).save() FieldPermission(model_name='Tree', field_name='plot', permission_level=FieldPermission.WRITE_DIRECTLY, role=self.global_role, instance=i).save() self.plot1 = Plot(geom=self.p1, instance=self.instance1) self.plot1.save_with_user(self.user) self.plot2 = Plot(geom=self.p2, instance=self.instance2) self.plot2.save_with_user(self.user) tree_combos = [ (self.plot1, self.instance1, True), (self.plot1, self.instance1, False), (self.plot2, self.instance2, True), (self.plot2, self.instance2, False), ] for tc in tree_combos: plot, instance, readonly = tc t = Tree(plot=plot, instance=instance, readonly=readonly) t.save_with_user(self.user)
def setUp(self): self.p = Point(-7615441.0, 5953519.0) self.instance = make_instance(point=self.p) self.user = make_commander_user(self.instance) self.plot = Plot(geom=self.instance.center, instance=self.instance)
def setUp(self): region = ITreeRegion.objects.get(code='NoEastXXX') p = region.geometry.point_on_surface self.instance = make_instance(is_public=True, point=p) self.user = make_commander_user(self.instance) self.species = Species(otm_code='CEAT', genus='cedrus', species='atlantica', max_dbh=2000, max_height=100, instance=self.instance) self.species.save_with_user(self.user) self.plot = Plot(geom=p, instance=self.instance) self.plot.save_with_user(self.user) self.tree = Tree(plot=self.plot, instance=self.instance, readonly=False, species=self.species, diameter=1630) self.tree.save_with_user(self.user)
def setUp(self): super(CommentTestMixin, self).setUp() self.instance = make_instance() self.user = make_commander_user(self.instance) self.admin = make_admin_user(self.instance) self.plot = Plot(geom=self.instance.center, instance=self.instance) self.plot.save_with_user(self.user)
def setUp(self): self.instance = make_instance() self.commander = make_commander_user(self.instance, "comm") # Note unicode '⅀' is on purpose self.user1 = User(username='******', password='******', email='*****@*****.**', organization='org111', first_name='therem', last_name='⅀straven') self.user1.save_with_user(self.commander) self.user2 = User(username='******', password='******', email='*****@*****.**', first_name='genly', last_name='ai') self.user2.save_with_user(self.commander) self.user3 = User(username='******', password='******', email='*****@*****.**') self.user3.save_with_user(self.commander) self.user4 = User(username='******', password='******', email='*****@*****.**') self.user4.save_with_user(self.commander) self.factory = RequestFactory()
def _setup_tree_and_collection_udf(self): instance = make_instance() self.plotstew = make_collection_udf(instance, model='Plot', datatype=COLLECTION_UDF_DATATYPE) self.treestew = make_collection_udf(instance, model='Tree', datatype=COLLECTION_UDF_DATATYPE) commander = make_commander_user(instance) set_write_permissions(instance, commander, 'Plot', ['udf:Stewardship']) set_write_permissions(instance, commander, 'Tree', ['udf:Stewardship']) d1 = {'action': 'prune', 'date': "2014-05-3 00:00:00"} d2 = {'action': 'water', 'date': "2014-04-29 00:00:00"} p1 = Point(-7615441.0, 5953519.0) self.plot = Plot(instance=instance, geom=p1) self.plot.udfs[self.plotstew.name] = [d1] self.plot.save_with_user(commander) self.tree = Tree(instance=instance, plot=self.plot) self.tree.udfs[self.treestew.name] = [d2] self.tree.save_with_user(commander)
def test_user_audits(self): self.instance = make_instance() username = make_commander_user(self.instance).username self.assert_template("/users/%s/edits/" % username, "treemap/recent_user_edits.html") self.assert_template( "/users/%s/edits/?instance_id=%s" % (username, self.instance.id), "treemap/recent_user_edits.html" )
def setUp(self): self.instance = make_instance() self.user = make_user(username='******') self.instance_user = make_user(self.instance, 'instance_user') self.client.get('/accounts/logout/')
def setUp(self): self.instance = make_instance() self.instance.config['advanced_search_fields'] = {} self.instance.save() self.role = Role(name='role', instance=self.instance, rep_thresh=0) self.role.save() self.observer = make_observer_user(self.instance) self.udf_role = Role(name='udf', instance=self.instance, rep_thresh=0) self.udf_role.save() self.template_dir = tempfile.mkdtemp() self.template_file_path = os.path.join(self.template_dir, "field_template.html") UserDefinedFieldDefinition.objects.create( instance=self.instance, model_type='Plot', datatype=json.dumps({'type': 'choice', 'choices': ["a", "b", "c"]}), iscollection=False, name='Test choice') udf_perm, __ = FieldPermission.objects.get_or_create( model_name='Plot', field_name='udf:Test choice', permission_level=FieldPermission.READ_ONLY, role=self.role, instance=self.instance) udf_perm.save() udf_write_perm, __ = FieldPermission.objects.get_or_create( model_name='Plot', field_name='udf:Test choice', permission_level=FieldPermission.WRITE_DIRECTLY, role=self.udf_role, instance=self.instance) udf_write_perm.save()
def test_anonymous_boundary_thumbprint(self): make_simple_boundary('n', n=0) instance = make_instance() thumbprint1 = instance.boundary_thumbprint make_anonymous_boundary(n=1) thumbprint2 = instance.boundary_thumbprint self.assertEqual(thumbprint1, thumbprint2)
def setupTreemapEnv(): def local_render_to_response(*args, **kwargs): from django.template import loader from django.http import HttpResponse httpresponse_kwargs = {'mimetype': kwargs.pop('mimetype', None)} hr = HttpResponse( loader.render_to_string(*args, **kwargs), **httpresponse_kwargs) if hasattr(args[1], 'dicts'): hr.request_context = args[1].dicts return hr django.shortcuts.render_to_response = local_render_to_response instance = make_instance(is_public=True) create_stewardship_udfs(instance) make_user_with_default_role(instance, 'jim') commander = make_commander_user(instance, 'commander') make_apprentice_user(instance, 'apprentice') n1geom = MultiPolygon(Polygon( ((0, 0), (100, 0), (100, 100), (0, 100), (0, 0)))) n2geom = MultiPolygon( Polygon(((0, 101), (101, 101), (101, 200), (0, 200), (0, 101)))) n1 = Boundary(name="n1", category='blah', sort_order=4, geom=n1geom) n2 = Boundary(name="n2", category='blah', sort_order=4, geom=n2geom) n1.save() n2.save() s1 = Species(otm_code="s1", genus="testus1", species="specieius1", cultivar='', instance=instance) s2 = Species(otm_code="s2", genus="testus2", species="specieius2", cultivar='', instance=instance) s3 = Species(otm_code="s3", genus="testus2", species="specieius3", cultivar='', instance=instance) s1.is_native = True s1.fall_conspicuous = True s1.flower_conspicuous = True s1.palatable_human = True s2.is_native = True s2.fall_conspicuous = False s2.flower_conspicuous = True s2.palatable_human = False s2.has_wildlife_value = True s3.has_wildlife_value = True s1.save_with_user(commander) s2.save_with_user(commander) s3.save_with_user(commander) return instance
def setUp(self): self.instance = make_instance() self.user = make_commander_user(self.instance) self.plot = Plot(instance=self.instance, geom=self.instance.center) self.plot.save_with_user(self.user) self.tree = Tree(instance=self.instance, plot=self.plot) self.tree.save_with_user(self.user)
def test_advanced_search_fields(self): instance = make_instance() self.assertEqual( instance.advanced_search_fields, { 'standard': [], 'missing': [], 'display': [], 'udfc': { 'alerts': { 'plot': { 'fields': [], 'udfd': None }, 'tree': { 'fields': [], 'udfd': None } }, 'stewardship': { 'plot': { 'fields': [], 'udfd': None }, 'tree': { 'fields': [], 'udfd': None } } } })
def test_two_boundary_thumbprint(self): make_simple_boundary('n1', n=0) instance = make_instance() thumbprint1 = instance.boundary_thumbprint make_simple_boundary('n2', n=1) thumbprint2 = instance.boundary_thumbprint self.assertNotEqual(thumbprint1, thumbprint2)
def test_parse_collection_udf_date_and_action_should_fail(self): point = Point(0, 0) instance = make_instance(point=point) commander = make_commander_user(instance) plotstew, treestew = _setup_collection_udfs(instance, commander) _setup_models_for_collections(instance, commander, point, plotstew, treestew) pred = search._parse_query_dict( { 'udf:plot:%s.action' % plotstew.pk: { 'IS': 'water' }, 'udf:plot:%s.date' % plotstew.pk: # Range encompasses p1's prune but not p1's water action { 'MIN': '2013-09-01 00:00:00', 'MAX': '2013-10-31 00:00:00' } }, mapping=search.DEFAULT_MAPPING) connector, predset = destructure_query_set(pred) self.assertEqual(connector, 'AND') target = ('id__in', tuple()) self.assertIn(target, predset)
def setUp(self): self.instance = make_instance() self.user = make_commander_user(self.instance) self.plot = Plot(instance=self.instance, geom=Point(-7615441, 5953519)) self.plot.save_with_user(self.user) self.tree = Tree(instance=self.instance, plot=self.plot) self.tree.save_with_user(self.user)
def setUp(self): self.instance = make_instance() self.instance.save() self.role = Role(name='role', instance=self.instance, rep_thresh=0) self.role.save() self.observer = make_observer_user(self.instance) self.udf_role = Role(name='udf', instance=self.instance, rep_thresh=0) self.udf_role.save() self.template_dir = tempfile.mkdtemp() self.template_file_path = os.path.join(self.template_dir, "field_template.html") UserDefinedFieldDefinition.objects.create( instance=self.instance, model_type='Plot', datatype=json.dumps({'type': 'choice', 'choices': ["a", "b", "c"]}), iscollection=False, name='Test choice') udf_perm, __ = FieldPermission.objects.get_or_create( model_name='Plot', field_name='udf:Test choice', permission_level=FieldPermission.READ_ONLY, role=self.role, instance=self.instance) udf_perm.save() udf_write_perm, __ = FieldPermission.objects.get_or_create( model_name='Plot', field_name='udf:Test choice', permission_level=FieldPermission.WRITE_DIRECTLY, role=self.udf_role, instance=self.instance) udf_write_perm.save()
def setUp(self): self.instance = make_instance() self.user = make_user(username='******', password='******') self.role = Role(name='role', instance=self.instance, rep_thresh=0) self.role.save() self.user_perm, __ = FieldPermission.objects.get_or_create( model_name='Plot', field_name='width', permission_level=FieldPermission.NONE, role=self.role, instance=self.instance) iuser = InstanceUser(instance=self.instance, user=self.user, role=self.role) iuser.save_with_user(self.user) inst_role = Role(name='inst def role', instance=self.instance, rep_thresh=0) inst_role.save() self.inst_perm, __ = FieldPermission.objects.get_or_create( model_name='Plot', field_name='width', permission_level=FieldPermission.NONE, role=inst_role, instance=self.instance) self.instance.default_role = inst_role self.instance.save() self.plot = Plot(instance=self.instance)
def setUp(self): self.user = make_user(username='******', password='******') self.instance = make_instance() # Create an admin user to verify that not all admins get notifications self.admin = make_user(instance=self.instance, username='******', admin=True)
def setUp(self): self.p1 = Point(0, 0) self.instance = make_instance(point=self.p1) self.commander = make_commander_user(self.instance) self.parse_dict_value = partial( search._parse_dict_value_for_mapping, search.PREDICATE_TYPES)
def setUp(self): self.instance = make_instance() datatype = [ {'type': 'choice', 'choices': ['love', 'hug'], 'name': 'action'}, {'type': 'int', 'name': 'times'}, {'type': 'date', 'name': 'day'}, ] create_stewardship_udfs(self.instance) make_collection_udf(self.instance, model='Plot', name='Caring', datatype=datatype) make_collection_udf(self.instance, model='Tree', name='Caring', datatype=datatype) UserDefinedFieldDefinition.objects.create( instance=self.instance, model_type='Plot', datatype=json.dumps({'type': 'string'}), iscollection=False, name='Name') UserDefinedFieldDefinition.objects.create( instance=self.instance, model_type='Tree', datatype=json.dumps({'type': 'int'}), iscollection=False, name='Man Units')
def setUp(self): super(PermissionsTestCase, self).setUp() self.p = Point(-8515941.0, 4953519.0) self.instance = make_instance(point=self.p) self.role_yes = self._make_empty_role('yes') self.role_no = self._make_empty_role('no')
def test_boundary_thumbprint(self): b = make_simple_boundary('n', n=0) instance = make_instance() thumbprint1 = instance.boundary_thumbprint b.name = 'n1' b.save() thumbprint2 = instance.boundary_thumbprint self.assertNotEqual(thumbprint1, thumbprint2)
def setUp(self): instance = make_instance() user = make_admin_user(instance) species = Species(instance=instance, genus="g1", species="", cultivar="", max_diameter=50.0, max_height=100.0) species.save_with_user(User.system_user()) login(self.client, user.username)
def test_user_audits(self): self.instance = make_instance() username = make_commander_user(self.instance).username self.assert_template('/users/%s/edits/' % username, 'treemap/recent_user_edits.html') self.assert_template('/users/%s/edits/?instance_id=%s' % (username, self.instance.id), 'treemap/recent_user_edits.html')
def setUp(self): center_point = Point(25, 25, srid=4326) center_point.transform(3857) self.instance = make_instance(point=center_point, edge_length=500000) self.user = make_admin_user(self.instance) self.ie = TreeImportEvent(file_name="file", owner=self.user, instance=self.instance) self.ie.save()
def setUp(self): self.point = Point(-8515941.0, 4953519.0) self.instance = make_instance(point=self.point) self.user = make_commander_user(self.instance) self.plot = Plot(geom=self.point, instance=self.instance) self.plot.save_with_user(self.user) self.plot = Plot.objects.get(pk=self.plot.pk) self.initial_updated = self.plot.updated_at
def setUp(self): self.instance = make_instance() self.user_a = make_plain_user('a', 'a') self.user_b = make_plain_user('b', 'b') self.plan_a1 = self._make_plan('a1', self.user_a, True) self.plan_a2 = self._make_plan('a2', self.user_a, False) self.plan_b1 = self._make_plan('b1', self.user_b, True) self.plan_b2 = self._make_plan('b2', self.user_b, False)
def test_has_itree_region_with_intersects(self): p1 = Point(0, 0) instance = make_instance(point=p1) instance.save() ITreeRegion.objects.create(geometry=MultiPolygon((p1.buffer(10)))) self.assertEqual(instance.has_itree_region(), True)
def setUp(self): super(AsyncCSVTestCase, self).setUp() self.instance = make_instance() self.user = make_commander_user(self.instance) self.unprivileged_user = User.objects.create_user(username='******', email='*****@*****.**', password='******')
def setUp(self): self.instance = make_instance() user = make_commander_user(instance=self.instance) species = Species(instance=self.instance, otm_code='', common_name='', genus='') species.save_with_user(user)
def setupTreemapEnv(): def local_render_to_response(*args, **kwargs): from django.template import loader from django.http import HttpResponse hr = HttpResponse(loader.render_to_string(*args, **kwargs)) if hasattr(args[1], 'dicts'): hr.request_context = args[1].dicts return hr django.shortcuts.render_to_response = local_render_to_response instance = make_instance(is_public=True) create_stewardship_udfs(instance) make_user_with_default_role(instance, 'jim') commander = make_commander_user(instance, 'commander') make_apprentice_user(instance, 'apprentice') n1geom = MultiPolygon(Polygon( ((0, 0), (100, 0), (100, 100), (0, 100), (0, 0)))) n2geom = MultiPolygon( Polygon(((0, 101), (101, 101), (101, 200), (0, 200), (0, 101)))) n1 = Boundary(name="n1", category='blah', sort_order=4, geom=n1geom) n2 = Boundary(name="n2", category='blah', sort_order=4, geom=n2geom) n1.save() n2.save() s1 = Species(otm_code="s1", genus="testus1", species="specieius1", cultivar='', instance=instance) s2 = Species(otm_code="s2", genus="testus2", species="specieius2", cultivar='', instance=instance) s3 = Species(otm_code="s3", genus="testus2", species="specieius3", cultivar='', instance=instance) s1.is_native = True s1.fall_conspicuous = True s1.flower_conspicuous = True s1.palatable_human = True s2.is_native = True s2.fall_conspicuous = False s2.flower_conspicuous = True s2.palatable_human = False s2.has_wildlife_value = True s3.has_wildlife_value = True s1.save_with_user(commander) s2.save_with_user(commander) s3.save_with_user(commander) return instance
def test_species_thumbprint(self): instance = make_instance() add_species_to_instance(instance) thumbprint1 = instance.species_thumbprint s = Species.objects.get(instance=instance, common_name='Afghan pine') s.common_name = 'Afghan pony' s.save_with_system_user_bypass_auth() thumbprint2 = instance.species_thumbprint self.assertNotEqual(thumbprint1, thumbprint2)
def setUp(self): # Example url for # CEAT, 1630 dbh, NoEastXXX # eco.json?otmcode=CEAT&diameter=1630®ion=NoEastXXX def mockbenefits(*args, **kwargs): benefits = { "Benefits": { "aq_nox_avoided": 0.6792, "aq_nox_dep": 0.371, "aq_ozone_dep": 0.775, "aq_pm10_avoided": 0.0436, "aq_pm10_dep": 0.491, "aq_sox_avoided": 0.372, "aq_sox_dep": 0.21, "aq_voc_avoided": 0.0254, "bvoc": -0.077, "co2_avoided": 255.5, "co2_sequestered": 0, "co2_storage": 6575, "electricity": 187, "hydro_interception": 12.06, "natural_gas": 5834.1 } } return (benefits, None) region = ITreeRegion.objects.get(code='NoEastXXX') p = region.geometry.point_on_surface converter = BenefitCurrencyConversion(currency_symbol='$', electricity_kwh_to_currency=1.0, natural_gas_kbtu_to_currency=1.0, co2_lb_to_currency=1.0, o3_lb_to_currency=1.0, nox_lb_to_currency=1.0, pm10_lb_to_currency=1.0, sox_lb_to_currency=1.0, voc_lb_to_currency=1.0, h20_gal_to_currency=1.0) converter.save() self.instance = make_instance(is_public=True, point=p) self.instance.eco_benefits_conversion = converter self.instance.save() self.user = make_commander_user(self.instance) self.species = Species(otm_code='CEAT', genus='cedrus', species='atlantica', max_diameter=2000, max_height=100, instance=self.instance) self.species.save_with_user(self.user) self.origBenefitFn = ecobackend.json_benefits_call ecobackend.json_benefits_call = mockbenefits
def setUp(self): super(UpdatedAtTestCase, self).setUp() self.image = self.load_resource('tree1.gif') self.test_start = timezone.now() self.point = Point(-8515941.0, 4953519.0) self.instance = make_instance(point=self.point) self.user = make_commander_user(self.instance) self.plot = Plot(geom=self.point, instance=self.instance) self.plot.save_with_user(self.user)
def setUp(self): self.instance = make_instance() self.commander = make_commander_user(self.instance) self.new_role = Role(name='Ambassador', instance=self.instance, rep_thresh=0) self.new_role.save() self.factory = RequestFactory()
def setUp(self): self.instance = make_instance(edge_length=1000) self.user = make_commander_user(self.instance) self.make_plots([(0, 100), (0, 101), (0, 200), (0, 201)]) recompute_hide_at_zoom(self.instance) # Two plots have hide_at_zoom == 14 # One plot has hide_at_zoom == 10 # One plot has hide_at_zoom == None self.assert_counts({14: 2, 10: 1})
def setUp(self): super(UpdateTestCase, self).setUp() self.image = self.load_resource('tree1.gif') self.test_start = timezone.now() self.point = Point(-8515941.0, 4953519.0) self.instance = make_instance(point=self.point) self.user = make_commander_user(self.instance) self.plot = Plot(geom=self.point, instance=self.instance) self.plot.save_with_user(self.user)
def setUp(self): self.instance = make_instance() self.conversions =\ BenefitCurrencyConversion.get_default_for_region('PiedmtCLT') self.conversions.save() self.instance.eco_benefits_conversion = self.conversions self.instance.save() self.commander = make_commander_user(self.instance)
def setUp(self): instance = make_instance() user = make_admin_user(instance) species = Species(instance=instance, genus='g1', species='', cultivar='', max_diameter=50.0, max_height=100.0) species.save_with_user(User.system_user()) login(self.client, user.username)
def setUp(self): self.p1 = Point(-7615441.0, 5953519.0) self.instance = make_instance(point=self.p1) self.commander_user = make_commander_user(self.instance) self.direct_user = make_officer_user(self.instance) self.pending_user = make_apprentice_user(self.instance) self.observer_user = make_observer_user(self.instance) self.plot = Plot(geom=self.p1, instance=self.instance, length=5.0) self.plot.save_with_user(self.commander_user)