Esempio n. 1
0
    def setUp(self):
        self.regions = []

        self.sf = Region(full_name="San Francisco", slug="sf")
        self.sf.save()
        self.oak = Region(full_name="Oakland", slug="oak")
        self.oak.save()
    def test_fix_tags(self):
        """
        Test the `fix_tags` utility function.
        """
        from pages.models import Page
        from tags.tag_utils import fix_tags

        #########################
        # Create some test regions
        #########################
       
        sf = Region(full_name="San Francisco Test", slug='sftest')
        sf.save()

        mission = Region(full_name="Mission", slug="mission")
        mission.save()

        #########################
        # Create some test tags
        #########################

        park = Tag(name='park', region=sf)
        park.save()

        fun = Tag(name='fun', region=sf)
        fun.save()

        #########################
        # Add the tags to a test page
        #########################

        page = Page(name="Duboce Park", content="<p>Park.</p>", region=sf)
        page.save()

        pts = PageTagSet(
            page=page,
            region=sf
        )
        pts.save()
        pts.tags.add(park)
        pts.tags.add(fun)
        pts.save()

        # Now do something odd and make one of the referenced `Tag`s point
        # to a different region than the PageTagSet.
        fun.region = mission
        fun.save()

        self.assertTrue(pts.tags.filter(region=mission).exists())

        # Then attempt a fix:
        fix_tags(sf, PageTagSet.objects.filter(id=pts.id))

        pts = PageTagSet.objects.get(page=page, region=sf)
        self.assertFalse(pts.tags.filter(region=mission).exists())

        # Check that this is fixed in historical versions as well
        for pts_h in pts.versions.all():
            self.assertFalse(pts_h.tags.filter(region=mission).exists())
    def setUp(self):
        super(FileAPITests, self).setUp()

        # Create the edit user and add it to the authenticated group
        self.edit_user = User(username="******",
                              email="*****@*****.**",
                              password="******")
        self.edit_user.save()
        all_group, created = Group.objects.get_or_create(
            name=settings.USERS_DEFAULT_GROUP)
        self.edit_user.groups.add(all_group)
        self.edit_user.save()

        self.edit_user_2 = User(username="******",
                                email="*****@*****.**",
                                password="******")
        self.edit_user_2.save()
        all_group, created = Group.objects.get_or_create(
            name=settings.USERS_DEFAULT_GROUP)
        self.edit_user_2.groups.add(all_group)
        self.edit_user_2.save()

        self.sf_region = Region(full_name='San Francisco', slug='sf')
        self.sf_region.save()
        self.oak_region = Region(full_name='Oakland', slug='oak')
        self.oak_region.save()

        p = Page(region=self.oak_region)
        p.content = '<p>Lake Merritt here</p>'
        p.name = 'Lake Merritt'
        p.save()
        self.lake_merritt = p

        p = Page(region=self.sf_region)
        p.content = '<p>Dolores Park here</p>'
        p.name = 'Dolores Park'
        p.save()
        self.dolores_park = p

        p = Page(region=self.sf_region)
        p.content = '<p>Duboce Park here</p>'
        p.name = 'Duboce Park'
        p.save()
        self.duboce_park = p

        pf = PageFile(name="file.txt",
                      slug='duboce park',
                      region=self.sf_region)
        pf.save()
        pf.file.save('file.txt', ContentFile('foo'))

        pf = PageFile(name="file_other.txt",
                      slug='duboce park',
                      region=self.sf_region)
        pf.save()
        pf.file.save('file_other.txt', ContentFile('foo2'))
    def setUp(self):
        super(PageAPITests, self).setUp()

        # Create the edit user and add it to the authenticated group
        self.edit_user = User(username="******",
                              email="*****@*****.**",
                              password="******")
        self.edit_user.save()
        all_group, created = Group.objects.get_or_create(
            name=settings.USERS_DEFAULT_GROUP)
        self.edit_user.groups.add(all_group)
        self.edit_user.save()

        self.edit_user_2 = User(username="******",
                                email="*****@*****.**",
                                password="******")
        self.edit_user_2.save()
        all_group, created = Group.objects.get_or_create(
            name=settings.USERS_DEFAULT_GROUP)
        self.edit_user_2.groups.add(all_group)
        self.edit_user_2.save()

        self.sf_region = Region(full_name='San Francisco', slug='sf')
        self.sf_region.save()
        self.oak_region = Region(full_name='Oakland', slug='oak')
        self.oak_region.save()

        p = Page(region=self.oak_region)
        p.content = '<p>Lake Merritt here</p>'
        p.name = 'Lake Merritt'
        p.save()
        self.lake_merritt = p

        p = Page(region=self.sf_region)
        p.content = '<p>Dolores Park here</p>'
        p.name = 'Dolores Park'
        p.save()
        self.dolores_park = p

        p = Page(region=self.sf_region)
        p.content = '<p>Duboce Park here</p>'
        p.name = 'Duboce Park'
        p.save()
        self.duboce_park = p

        t1 = Tag(name='lake')
        t1.save()
        t2 = Tag(name='water')
        t2.save()
        pts = PageTagSet(page=p, region=self.sf_region)
        pts.save()
        pts.tags = [t1, t2]
    def setUp(self):
        super(AuthenticationAPITests, self).setUp()

        # Create the edit user and add it to the authenticated group
        self.edit_user = User(
            username="******", email="*****@*****.**", password="******")
        self.edit_user.save()
        all_group, created = Group.objects.get_or_create(name=settings.USERS_DEFAULT_GROUP)
        self.edit_user.groups.add(all_group)
        self.edit_user.save()

        # Create auth token for the edit user
        self.token = Token.objects.get_or_create(user=self.edit_user)[0]

        self.sf_region = Region(full_name='San Francisco', slug='sf')
        self.sf_region.save()

        p = Page(region=self.sf_region)
        p.content = '<p>Dolores Park here</p>'
        p.name = 'Dolores Park'
        p.save()
        self.dolores_park = p

        p = Page(region=self.sf_region)
        p.content = '<p>Duboce Park here</p>'
        p.name = 'Duboce Park'
        p.save()
        self.duboce_park = p
    def handle(self, *args, **options):
        path = pathjoin(dirname(__file__), pardir, pardir, 'azavea-geo-data',
                        'Neighborhoods_Philadelphia',
                        'Neighborhoods_Philadelphia.shp')

        shapefile = gdal.DataSource(path)
        for layer in shapefile:
            for feature in layer:
                try:
                    region = Region.objects.get(layer='neighborhoods',
                                                name=feature.get('listname'))
                    print 'Updating "%s"' % region.name
                except Region.DoesNotExist:
                    region = Region(layer='neighborhoods',
                                    name=feature.get('listname'))
                    print 'Loading "%s"' % region.name

        # Transform the projection from 102729 (NAD 1983 StatePlane
        # Pennsylvania South FIPS 3702 Feet) to 4326 (WSG 1984).
        #
        # Source: http://svn.osgeo.org/postgis/tags/0.7.4/spatial_ref_sys.sql
                region.shape = feature.geom.geos
                region.shape.srid = 102729
                region.shape.transform(4326)

                region.save()
    def setUp(self):
        from regions.models import Region
        from pages.models import Page
        from tags.models import Tag, PageTagSet

        self.factory = RequestFactory()

        # Create a new region and associate a domain with it
        self.sf = Region(full_name="San Francisco", slug="sf")
        self.sf.save()
        self.sf.regionsettings.domain = 'fakename.org'
        self.sf.regionsettings.save()

        self.user = User.objects.create_user(
            username='******', email='*****@*****.**', password='******')
        self.user.save()
       
        # Create a page in the SF region
        p = Page(name='Parks', content='<p>Hi</p>', region=self.sf)
        p.save(user=self.user)
        p.content += "!"
        p.save(user=self.user)

        # Add a tag to the page
        t = Tag(name='park', slug='park', region=self.sf)
        t.save(user=self.user)
        pts = PageTagSet(region=self.sf, page=p)
        pts.save(user=self.user)
        pts.tags.add(t)
        pts.save(user=self.user)
    def setUp(self):
        self.region = Region(full_name='Test region', slug='test-region')
        self.region.save()
        self.context = {'region': self.region}

        self.old_allowed_src = getattr(settings, 'EMBED_ALLOWED_SRC', ['.*'])
        settings.EMBED_ALLOWED_SRC = [
            'http://www.youtube.com/embed/.*',
            'http://player.vimeo.com/video/.*'
        ]
Esempio n. 9
0
    def setUp(self):
        self.regions = []

        self.sf = Region(full_name="San Francisco", slug="sf")
        self.sf.save()
        self.oak = Region(full_name="Oakland", slug="oak")
        self.oak.save()

        self.philip = User(username="******", email="*****@*****.**")
        self.philip.save()

        self.marina = User(username="******", email="*****@*****.**")
        self.marina.save()

        # Philip admin of SF
        self.sf.regionsettings.admins.add(self.philip)

        # Marina admin of Oakland
        self.oak.regionsettings.admins.add(self.marina)
    def setUp(self):
        super(RedirectAPITests, self).setUp()

        # Create the edit user and add it to the authenticated group
        self.edit_user = User(
            username="******", email="*****@*****.**", password="******")
        self.edit_user.save()
        all_group, created = Group.objects.get_or_create(name=settings.USERS_DEFAULT_GROUP)
        self.edit_user.groups.add(all_group)
        self.edit_user.save()

        self.edit_user_2 = User(
            username="******", email="*****@*****.**", password="******")
        self.edit_user_2.save()
        all_group, created = Group.objects.get_or_create(name=settings.USERS_DEFAULT_GROUP)
        self.edit_user_2.groups.add(all_group)
        self.edit_user_2.save()

        self.sf = Region(full_name="San Francisco", slug="sf")
        self.sf.save()
        self.oak = Region(full_name="Oakland", slug="oak")
        self.oak.save()

        self.dolores_park = Page(name="Dolores Park", content="<p>Hi</p>", region=self.sf)
        self.dolores_park.save()

        self.duboce_park = Page(name="Duboce Park", content="<p>Hi</p>", region=self.sf)
        self.duboce_park.save()

        self.mission_dolores_park = Redirect(
            source="mission dolores park",
            destination=self.dolores_park,
            region=self.sf
        )
        self.mission_dolores_park.save()

        self.dog_park = Redirect(
            source="dog park",
            destination=self.duboce_park,
            region=self.sf
        )
        self.dog_park.save()
Esempio n. 11
0
    def create_superuser(self, email, password, **extra_fields):
        chapter = Chapter.objects.first()
        if chapter is None:
            # this would happen on first install; make a default test region/chapter
            from regions.models import Region

            region = Region.objects.first()
            if region is None:
                Region(name="Test Region").save()
                region = Region.objects.first()
            Chapter(name="Test Chapter", region=region).save()
            chapter = Chapter.objects.first()
        extra_fields.setdefault("chapter", chapter)
        super().create_superuser(email=email,
                                 password=password,
                                 **extra_fields)
Esempio n. 12
0
    def setUp(self):
        super(MapAPITests, self).setUp()

        # Create the edit user and add it to the authenticated group
        self.edit_user = User(username="******",
                              email="*****@*****.**",
                              password="******")
        self.edit_user.save()
        all_group, created = Group.objects.get_or_create(
            name=settings.USERS_DEFAULT_GROUP)
        self.edit_user.groups.add(all_group)
        self.edit_user.save()

        self.edit_user_2 = User(username="******",
                                email="*****@*****.**",
                                password="******")
        self.edit_user_2.save()
        all_group, created = Group.objects.get_or_create(
            name=settings.USERS_DEFAULT_GROUP)
        self.edit_user_2.groups.add(all_group)
        self.edit_user_2.save()

        self.sf = Region(full_name="San Francisco", slug="sf")
        self.sf.save()
        self.oak = Region(full_name="Oakland", slug="oak")
        self.oak.save()

        self.golden_gate_park = Page(name="Golden Gate Park",
                                     content="<p>Hi</p>",
                                     region=self.sf)
        self.golden_gate_park.save()

        self.dolores_park = Page(name="Dolores Park",
                                 content="<p>Hi</p>",
                                 region=self.sf)
        self.dolores_park.save()

        self.duboce_park = Page(name="Duboce Park",
                                content="<p>Hi</p>",
                                region=self.sf)
        self.duboce_park.save()

        self.dolores_park_map = MapData(page=self.dolores_park, region=self.sf)
        self.dolores_park_map.geom = GEOSGeometry("""
        { "type": "GeometryCollection", "geometries": [
          {
          "type": "Polygon",
          "coordinates": [
            [
              [
                -122.42835760116576,
                37.76128348360843
              ],
              [
                -122.42799282073973,
                37.75812815505155
              ],
              [
                -122.42591142654419,
                37.758297799795336
              ],
              [
                -122.42627620697021,
                37.761402229904654
              ],
              [
                -122.42835760116576,
                37.76128348360843
              ]
            ]
          ]
        }]
      }""")
        self.dolores_park_map.save()

        self.duboce_park_map = MapData(page=self.duboce_park, region=self.sf)
        self.duboce_park_map.geom = GEOSGeometry("""
        { "type": "GeometryCollection", "geometries": [

           {
            "type": "Polygon",
            "coordinates": [
              [
                [
                  -122.43505239486696,
                  37.770443352285376
                ],
                [
                  -122.43490219116211,
                  37.76917121614543
                ],
                [
                  -122.431640625,
                  37.769408683219545
                ],
                [
                  -122.43179082870485,
                  37.76991753866766
                ],
                [
                  -122.43460178375243,
                  37.769713996908635
                ],
                [
                  -122.43505239486696,
                  37.770443352285376
                ]
              ]
            ]
          } 

        ]
      }
      """)
        self.duboce_park_map.save()
 def setUp(self):
     self.region = Region(full_name='Test region', slug='test-region')
     self.region.save()
 def setUp(self):
     self.region = Region(full_name="Test Region", slug="test_region")
     self.region.save()