コード例 #1
0
    def setUp(self):
        self.org_admin_group = create_group(
            'org_admin', self.ORGANIZATION_ADMIN_PERMISSIONS)
        self.group_viewer = create_group('viewer', self.VIEWER_PERMISSIONS)

        self.group_reporter = create_group('reporter', [])
        self.group_contributor = create_group('contributor', [])

        self.org1 = Organization.objects.create(name="UW")
        self.org2 = Organization.objects.create(name="CVO")

        self.org1_member_client = APIClient()
        self.org2_member_client = APIClient()
        self.org1_admin_client = APIClient()

        self.org1_member = sample_user("*****@*****.**", 'secret', self.org1)
        self.org2_member = sample_user("*****@*****.**", 'secret', self.org2)
        self.org1_admin = sample_user("*****@*****.**",
                                      'secret',
                                      self.org1,
                                      is_org_admin=True)
        # add obj model permissions
        self.org1_member.groups.add(self.group_viewer)
        self.org2_member.groups.add(self.group_viewer)
        self.org1_admin.groups.add(self.org_admin_group)
        self.org1_admin.groups.add(self.group_viewer)

        # authenticate
        self.org1_member_client.force_authenticate(self.org1_member)
        self.org2_member_client.force_authenticate(self.org2_member)
        self.org1_admin_client.force_authenticate(self.org1_admin)
コード例 #2
0
 def setUp(self):
     self.client = APIClient()
     self.admin = sample_user(email="*****@*****.**", password="******")
     self.admin.is_staff = True
     self.admin.save()
     self.other = sample_user(email="*****@*****.**", password="******")
     self.client.force_authenticate(self.admin)
     self.contact_admin = Contact.objects.create(
         user=self.admin,
         sms_value='1'
     )
     self.contact_other = Contact.objects.create(
         user=self.other,
         email_value=self.other.email
     )
     self.notification = Notification.objects.create(
         user=self.admin,
         notification_type=Notification.NotificationType.SMS,
         contact=self.contact_admin
     )
     self.other_notification = Notification.objects.create(
         user=self.other,
         notification_type=Notification.NotificationType.SMS,
         contact=self.contact_other
     )
コード例 #3
0
 def test_create_token_success(self):
     '''test token success'''
     sample_user(email='*****@*****.**',
                 password="******",
                 organization=self.organization,
                 firstname='your',
                 lastname='mom')
     payload = {'email': '*****@*****.**', 'password': "******"}
     res = self.client.post(CREATE_TOKEN_URL, payload)
     self.assertEqual(res.status_code, status.HTTP_200_OK)
コード例 #4
0
    def test_create_token_invalid_credentials(self):
        '''test that token is not created if invalid creds are given'''
        sample_user(email="*****@*****.**",
                    password='******',
                    organization=self.organization)
        payload = {
            'email': '*****@*****.**',
            'password': "******",
            'organization': self.organization.id,
        }
        res = self.client.post(CREATE_TOKEN_URL, payload)

        self.assertNotIn('token', res.data)
        self.assertEqual(res.status_code, status.HTTP_400_BAD_REQUEST)
コード例 #5
0
ファイル: test_nslc_api.py プロジェクト: pnsn/squacapi
 def setUp(self):
     self.user = sample_user()
     self.client = APIClient()
     # unauthenticate user
     self.client.force_authenticate(user=None)
     self.net = Network.objects.create(code="UW",
                                       name="University of Washington",
                                       user=self.user)
     self.chan = Channel.objects.create(code='EHZ',
                                        name="EHZ",
                                        loc="--",
                                        lat=45.0,
                                        lon=-122.0,
                                        station_code='RCM',
                                        station_name='Camp Muir',
                                        elev=100.0,
                                        network=self.net,
                                        user=self.user,
                                        starttime=datetime(1970,
                                                           1,
                                                           1,
                                                           tzinfo=pytz.UTC),
                                        endtime=datetime(2599,
                                                         12,
                                                         31,
                                                         tzinfo=pytz.UTC))
     self.organization = Organization.objects.create(name='PNSN')
     self.grp = Group.objects.create(name='Test group',
                                     organization=self.organization,
                                     user=self.user)
     self.grp.channels.add(self.chan)
コード例 #6
0
ファイル: test_nslc_api.py プロジェクト: pnsn/squacapi
 def setUp(self):
     self.client = APIClient()
     self.user = sample_user(email="*****@*****.**", password="******")
     self.user.is_staff = True
     self.user.save()
     self.client.force_authenticate(self.user)
     self.net = Network.objects.create(code="UW",
                                       name="University of Washington",
                                       user=self.user)
     self.chan = Channel.objects.create(code='EHZ',
                                        name="EHZ",
                                        loc="--",
                                        network=self.net,
                                        station_code='RCM',
                                        station_name='Camp Muir',
                                        lat=45,
                                        lon=-122,
                                        elev=100.0,
                                        user=self.user,
                                        starttime=datetime(1970,
                                                           1,
                                                           1,
                                                           tzinfo=pytz.UTC),
                                        endtime=datetime(2599,
                                                         12,
                                                         31,
                                                         tzinfo=pytz.UTC))
     self.organization = Organization.objects.create(name='PNSN')
     self.grp = Group.objects.create(name='Test group',
                                     user=self.user,
                                     organization=self.organization)
コード例 #7
0
ファイル: test_invite_api.py プロジェクト: pnsn/squacapi
 def test_registration_validation(self):
     '''invited user should not be able to register with
         with missing passwd, first or lastname'''
     url = reverse('invite:user-register')
     invited_user = sample_user('*****@*****.**')
     invite_token = InviteToken.objects.create(user=invited_user)
     token = base64.urlsafe_b64encode(str(
         invite_token.id).encode()).decode()
     payload = {
         'token': token,
         'password': '******',
         'firstname': 'Bat'
     }
     res = self.client.post(url, payload, format='json')
     self.assertEqual(res.status_code, status.HTTP_400_BAD_REQUEST)
     payload = {
         'token': token,
         'password': '******',
         'lastname': 'Man'
     }
     res = self.client.post(url, payload, format='json')
     self.assertEqual(res.status_code, status.HTTP_400_BAD_REQUEST)
     payload = {'token': token, 'firstname': 'Bat', 'lastname': 'Man'}
     res = self.client.post(url, payload, format='json')
     self.assertEqual(res.status_code, status.HTTP_400_BAD_REQUEST)
コード例 #8
0
ファイル: test_models.py プロジェクト: pnsn/squacapi
 def setUp(self):
     self.organization = Organization.objects.create(name="PNSN")
     self.viewer = create_group("viewer", [])
     self.reporter = create_group("reporter", [])
     self.contributor = create_group("contributor", [])
     self.org_admin = create_group("org_admin", [])
     self.user = sample_user('*****@*****.**')
コード例 #9
0
ファイル: test_models.py プロジェクト: pnsn/squacapi
 def test_set_permission_groups(self):
     user = sample_user("*****@*****.**")
     user.set_permission_groups([self.reporter])
     self.assertTrue(len(user.groups.all()) == 2)
     user.set_permission_groups([self.viewer])
     self.assertTrue(len(user.groups.all()) == 1)
     user.set_permission_groups([self.contributor, self.viewer])
     self.assertTrue(len(user.groups.all()) == 3)
コード例 #10
0
    def setUp(self):
        self.client = APIClient()
        self.me = sample_user('*****@*****.**')
        self.other = sample_user('*****@*****.**')
        self.admin = sample_user('*****@*****.**')
        self.admin.is_staff = True
        self.admin.save()

        self.contact = Contact.objects.create(
            user=self.me,
            sms_value='1'
        )
        self.notification = Notification.objects.create(
            user=self.me,
            notification_type=Notification.NotificationType.SMS,
            contact=self.contact
        )
コード例 #11
0
ファイル: test_invite_api.py プロジェクト: pnsn/squacapi
 def test_invite_success(self):
     url = reverse('invite:user-invite')
     invited_user = sample_user('*****@*****.**',
                                'secret',
                                self.org,
                                is_active=False)
     payload = {'user': invited_user.id}
     res = self.client.post(url, payload, format='json')
     self.assertEqual(res.status_code, status.HTTP_201_CREATED)
コード例 #12
0
    def setUp(self):
        '''create sample authenticated user'''
        # import pdb; pdb.set_trace()
        self.me_viewer = sample_user('*****@*****.**')
        self.me_reporter = sample_user('*****@*****.**')
        self.not_me = sample_user('*****@*****.**')
        self.me_reporter_client = APIClient()
        self.me_viewer_client = APIClient()

        self.me_reporter_group = create_group('reporter', REPORTER_PERMISSIONS)
        self.me_viewer_group = create_group('viewer', VIEWER_PERMISSIONS)
        self.me_reporter.groups.add(self.me_reporter_group)
        self.me_viewer.groups.add(self.me_viewer_group)
        self.me_reporter_client.force_authenticate(user=self.me_reporter)
        self.me_viewer_client.force_authenticate(user=self.me_viewer)

        self.net = Network.objects.create(code="UW",
                                          name="University of Washington",
                                          user=self.me_reporter)
        self.chan = Channel.objects.create(code='EHZ',
                                           name="EHZ",
                                           loc="--",
                                           network=self.net,
                                           station_code='RCM',
                                           station_name='Camp Muir',
                                           lat=45,
                                           lon=-122,
                                           elev=100.0,
                                           user=self.me_reporter,
                                           starttime=datetime(1970,
                                                              1,
                                                              1,
                                                              tzinfo=pytz.UTC),
                                           endtime=datetime(2599,
                                                            12,
                                                            31,
                                                            tzinfo=pytz.UTC))
        # create two orgs min and not mine
        self.my_org = Organization.objects.create(name='Mine')

        self.not_my_org = Organization.objects.create(name='Not Mine')
        # add users to orgs
        self.me_reporter.organization = self.my_org
        self.me_viewer.organization = self.my_org
コード例 #13
0
    def setUp(self):
        self.client = APIClient()
        self.group_viewer = create_group('viewer', [])
        self.group_reporter = create_group('reporter', [])
        self.group_contributor = create_group('contributor', [])
        self.group_org_admin = create_group("org_admin", [])

        self.org1 = Organization.objects.create(name="UW")
        self.org2 = Organization.objects.create(name="CVO")
        self.staff = sample_user(
            email="*****@*****.**",
            password="******",
            organization=self.org1
        )
        self.staff.is_staff = True
        self.client.force_authenticate(self.staff)

        self.org1user = sample_user("*****@*****.**", 'secret', self.org1)
        self.org2user = sample_user("*****@*****.**", 'secret', self.org2)
コード例 #14
0
ファイル: test_invite_api.py プロジェクト: pnsn/squacapi
 def test_invite_active_user_fail(self):
     '''should throw error when inviting active user'''
     active_user = sample_user('*****@*****.**',
                               'secret',
                               self.org,
                               is_active=True)
     url = reverse('invite:user-invite')
     payload = {'user': active_user.id}
     res = self.client.post(url, payload, format='json')
     self.assertEqual(res.status_code, status.HTTP_400_BAD_REQUEST)
コード例 #15
0
 def setUp(self):
     self.organization = Organization.objects.create(name='PNSN')
     self.user = sample_user(
         email='*****@*****.**',
         password="******",
         organization=self.organization,
         firstname='your',
         lastname='mom',
     )
     self.client = APIClient()
     self.client.force_authenticate(user=self.user)
コード例 #16
0
 def setUp(self):
     self.user = sample_user()
     self.client = APIClient()
     # unauthenticate user
     self.client.force_authenticate(user=None)
     self.contact = Contact.objects.create(
         user=self.user,
         sms_value='1'
     )
     self.notification = Notification.objects.create(
         user=self.user,
         notification_type=Notification.NotificationType.SMS,
         contact=self.contact
     )
コード例 #17
0
ファイル: test_invite_api.py プロジェクト: pnsn/squacapi
 def test_expired_token(self):
     '''bad token should fail'''
     url = reverse('invite:user-register')
     invited_user = sample_user('*****@*****.**')
     invite_token = InviteToken.objects.create(user=invited_user)
     expire_after = settings.INVITE_TOKEN_EXPIRY_TIME
     invite_token.created_at = \
         invite_token.created_at - timedelta(hours=expire_after + 1)
     invite_token.save()
     token = base64.urlsafe_b64encode(str(
         invite_token.id).encode()).decode()
     payload = {'token': token, 'password': '******'}
     res = self.client.post(url, payload, format='json')
     self.assertEqual(res.status_code, status.HTTP_400_BAD_REQUEST)
コード例 #18
0
 def setUp(self):
     self.user = sample_user()
     self.client = APIClient()
     # unauthenticate all requests
     self.client.force_authenticate(user=None)
     timezone.now()
     metric = Metric.objects.create(name='Metric test',
                                    code='123',
                                    unit='meter',
                                    default_minval=1,
                                    default_maxval=10.0,
                                    user=self.user)
     net = Network.objects.create(code="UW",
                                  name="University of Washington",
                                  user=self.user)
     chan = Channel.objects.create(code='EHZ',
                                   name="EHZ",
                                   station_code='RCM',
                                   station_name='Camp Muir',
                                   loc="--",
                                   network=net,
                                   lat=45,
                                   lon=-122,
                                   elev=0,
                                   user=self.user,
                                   starttime=datetime(1970,
                                                      1,
                                                      1,
                                                      tzinfo=pytz.UTC),
                                   endtime=datetime(2599,
                                                    12,
                                                    31,
                                                    tzinfo=pytz.UTC))
     self.archive = ArchiveDay.objects.create(
         channel=chan,
         metric=metric,
         min=0,
         max=0,
         mean=0,
         median=0,
         stdev=0,
         num_samps=1,
         p05=0,
         p10=0,
         p90=0,
         p95=0,
         starttime=datetime(2019, 5, 5, 8, 8, 7, 127325, tzinfo=pytz.UTC),
         endtime=datetime(2019, 5, 5, 8, 8, 7, 127325, tzinfo=pytz.UTC))
コード例 #19
0
    def setUp(self):
        self.client = APIClient()
        self.user = sample_user()
        self.user.is_staff = True
        self.client.force_authenticate(self.user)
        timezone.now()
        self.metric = Metric.objects.create(
            name='Sample metric',
            unit='furlong',
            code="someotherfuknthing",
            default_minval=1,
            default_maxval=10.0,
            user=self.user,
            reference_url='pnsn.org'
        )
        self.net = Network.objects.create(
            code="UW",
            name="University of Washington",
            user=self.user
        )
        self.chan = Channel.objects.create(
            code='EHZ',
            name="EHZ",
            station_code='RCM',
            station_name='Camp Muir',
            loc="--",
            network=self.net,
            lat=45,
            lon=-122,
            elev=0,
            user=self.user,
            starttime=datetime(1970, 1, 1, tzinfo=pytz.UTC),
            endtime=datetime(2599, 12, 31, tzinfo=pytz.UTC)
        )

        self.measurement = Measurement.objects.create(
            metric=self.metric,
            channel=self.chan,
            value=3.0,
            starttime=datetime(2019, 5, 5, 8, 8, 7, 127325, tzinfo=pytz.UTC),
            endtime=datetime(2019, 5, 5, 9, 8, 7, 127325, tzinfo=pytz.UTC),
            user=self.user
        )
コード例 #20
0
ファイル: test_invite_api.py プロジェクト: pnsn/squacapi
 def test_register_user_success(self):
     '''invited user should be able to register with
         password and valid token'''
     url = reverse('invite:user-register')
     invited_user = sample_user('*****@*****.**')
     invite_token = InviteToken.objects.create(user=invited_user)
     token = base64.urlsafe_b64encode(str(
         invite_token.id).encode()).decode()
     payload = {
         'token': token,
         'password': '******',
         'firstname': 'Bat',
         'lastname': 'Man'
     }
     res = self.client.post(url, payload, format='json')
     self.assertEqual(res.status_code, status.HTTP_201_CREATED)
     invited_user.refresh_from_db()
     self.assertEqual(invited_user.firstname, 'Bat')
     self.assertEqual(invited_user.lastname, 'Man')
     self.assertTrue(invited_user.is_active)
コード例 #21
0
 def setUp(self):
     timezone.now()
     self.user = sample_user()
     self.metric = Metric.objects.create(name='Metric test',
                                         code='123',
                                         unit='meter',
                                         default_minval=1,
                                         default_maxval=10.0,
                                         user=self.user)
     self.metric2 = Metric.objects.create(name='Metric test 2',
                                          code='124',
                                          unit='meter',
                                          default_minval=2,
                                          default_maxval=12.0,
                                          user=self.user)
     self.net = Network.objects.create(code="UW",
                                       name="University of Washington",
                                       user=self.user)
     self.chan = Channel.objects.create(code='EHZ',
                                        name="EHZ",
                                        station_code='RCM',
                                        station_name='Camp Muir',
                                        loc="--",
                                        network=self.net,
                                        lat=45,
                                        lon=-122,
                                        elev=0,
                                        user=self.user,
                                        starttime=datetime(1970,
                                                           1,
                                                           1,
                                                           tzinfo=pytz.UTC),
                                        endtime=datetime(2599,
                                                         12,
                                                         31,
                                                         tzinfo=pytz.UTC))
コード例 #22
0
 def setUp(self):
     self.client = APIClient()
     self.user = sample_user()
     self.user.is_staff = True
     self.client.force_authenticate(self.user)
     timezone.now()
     self.organization = Organization.objects.create(
         name='PNSN'
     )
     self.net = Network.objects.create(
         code="UW", name="University of Washington", user=self.user)
     self.chan1 = self.getTestChannel('CH1')
     self.chan2 = self.getTestChannel('CH2')
     # self.chan3 = self.getTestChannel('CH3')
     self.grp = Group.objects.create(
         name='Test group',
         user=self.user,
         organization=self.organization,
     )
     self.grp.channels.set([self.chan1.id, self.chan2.id])
     self.metric = Metric.objects.create(
         name='Sample metric',
         unit='furlong',
         code="someotherthing",
         default_minval=1,
         default_maxval=10.0,
         user=self.user,
         reference_url='pnsn.org'
     )
     self.monitor = Monitor.objects.create(
         channel_group=self.grp,
         metric=self.metric,
         interval_type=Monitor.IntervalType.DAY,
         interval_count=1,
         num_channels=5,
         stat=Monitor.Stat.SUM,
         user=self.user
     )
     self.trigger = Trigger.objects.create(
         monitor=self.monitor,
         minval=2,
         maxval=5,
         level=Trigger.Level.ONE,
         user=self.user
     )
     self.alert = Alert.objects.create(
         trigger=self.trigger,
         timestamp=datetime(1970, 1, 1, tzinfo=pytz.UTC),
         message='Alarm on channel group something something!',
         in_alarm=True,
         user=self.user
     )
     self.contact = Contact.objects.create(
         user=self.user,
         email_value=self.user.email
     )
     self.notification = Notification.objects.create(
         notification_type=Notification.NotificationType.EMAIL,
         user=self.user,
         contact=self.contact
     )
コード例 #23
0
    def setUp(self):
        '''create sample authenticated user'''
        pass
        self.viewer = sample_user('*****@*****.**')
        self.reporter = sample_user('*****@*****.**')
        self.not_me = sample_user('*****@*****.**')
        self.reporter_client = APIClient()
        self.viewer_client = APIClient()

        self.reporter_group = create_group('reporter', REPORTER_PERMISSIONS)
        self.viewer_group = create_group('viewer', VIEWER_PERMISSIONS)
        self.reporter.groups.add(self.reporter_group)
        self.viewer.groups.add(self.viewer_group)
        self.reporter_client.force_authenticate(user=self.reporter)
        self.viewer_client.force_authenticate(user=self.viewer)

        self.metric = Metric.objects.create(name='Metric test',
                                            code="code12",
                                            unit='meter',
                                            default_minval=1,
                                            default_maxval=10.0,
                                            user=self.reporter)
        self.metric_other = Metric.objects.create(name='Metric test',
                                                  code="code123",
                                                  unit='meter',
                                                  default_minval=1,
                                                  default_maxval=10.0,
                                                  user=self.not_me)
        self.net = Network.objects.create(code="UW",
                                          name="University of Washington",
                                          user=self.reporter)
        self.chan = Channel.objects.create(code='EHZ',
                                           name="EHZ",
                                           station_code='RCM',
                                           station_name='Camp Muir',
                                           loc="--",
                                           network=self.net,
                                           lat=45,
                                           lon=-122,
                                           elev=0,
                                           user=self.reporter,
                                           starttime=datetime(1970,
                                                              1,
                                                              1,
                                                              tzinfo=pytz.UTC),
                                           endtime=datetime(2599,
                                                            12,
                                                            31,
                                                            tzinfo=pytz.UTC))

        self.my_org = Organization.objects.create(name='mu org')
        self.not_my_org = Organization.objects.create(name='not my org')
        # we're not tesing chan group so mark share all
        self.grp = Group.objects.create(name='Test group',
                                        user=self.reporter,
                                        organization=self.my_org)
        self.grp.channels.add(self.chan)

        self.reporter.organization = self.my_org
        self.viewer.organization = self.my_org

        self.my_org_dashboard_share_org = Dashboard.objects.create(
            name='Test dashboard',
            share_all=False,
            share_org=True,
            user=self.reporter,
            organization=self.my_org)

        self.my_org_dashboard_share_none = Dashboard.objects.create(
            name='Test dashboard',
            share_all=False,
            share_org=False,
            user=self.reporter,
            organization=self.my_org)

        self.not_my_org_dashboard_share_all = Dashboard.objects.create(
            name='Test dashboard',
            share_all=True,
            share_org=True,
            user=self.not_me,
            organization=self.not_my_org)

        self.not_my_org_dashboard_share_org = Dashboard.objects.create(
            name='Test dashboard',
            share_all=False,
            share_org=True,
            user=self.not_me,
            organization=self.not_my_org)
        self.not_my_org_dashboard_share_none = Dashboard.objects.create(
            name='Test dashboard',
            share_all=False,
            share_org=False,
            user=self.not_me,
            organization=self.not_my_org)

        self.widtype = WidgetType.objects.create(name='Test widget type',
                                                 type='Some type',
                                                 user=self.reporter)
        self.stattype = StatType.objects.create(name="Average",
                                                type="ave",
                                                user=self.reporter)
        self.widget = Widget.objects.create(
            name='Test widget',
            dashboard=self.my_org_dashboard_share_org,
            widgettype=self.widtype,
            stattype=self.stattype,
            columns=6,
            rows=3,
            x_position=1,
            y_position=1,
            user=self.reporter,
            channel_group=self.grp,
        )
コード例 #24
0
ファイル: test_invite_api.py プロジェクト: pnsn/squacapi
 def setUp(self):
     self.client = APIClient()
     self.staff = sample_user('*****@*****.**')
     self.staff.is_staff = True
     self.client.force_authenticate(self.staff)
     self.org = Organization.objects.create(name="UW")
コード例 #25
0
    def setUp(self):
        self.user = sample_user()
        self.client = APIClient()
        self.user.is_staff = True
        # unauthenticate all requests
        self.client.force_authenticate(user=self.user)
        timezone.now()
        self.organization = Organization.objects.create(name='PNSN')

        self.metric = Metric.objects.create(name='Metric test',
                                            code='123',
                                            unit='meter',
                                            default_minval=1,
                                            default_maxval=10.0,
                                            user=self.user)
        self.net = Network.objects.create(code="UW",
                                          name="University of Washington",
                                          user=self.user)

        self.grp = Group.objects.create(name='Test group',
                                        organization=self.organization,
                                        user=self.user)

        self.chan1 = Channel.objects.create(code='EHZ',
                                            name="EHZ",
                                            station_code='RCM',
                                            station_name='Camp Muir',
                                            loc="--",
                                            network=self.net,
                                            lat=45,
                                            lon=-122,
                                            elev=0,
                                            user=self.user,
                                            starttime=datetime(
                                                1970, 1, 1, tzinfo=pytz.UTC),
                                            endtime=datetime(2599,
                                                             12,
                                                             31,
                                                             tzinfo=pytz.UTC))

        self.chan2 = Channel.objects.create(code='EHZ',
                                            name="EHZ",
                                            station_code='RCS',
                                            station_name='Camp Schurman',
                                            loc="--",
                                            network=self.net,
                                            lat=45,
                                            lon=-122,
                                            elev=0,
                                            user=self.user,
                                            starttime=datetime(
                                                1970, 1, 1, tzinfo=pytz.UTC),
                                            endtime=datetime(2599,
                                                             12,
                                                             31,
                                                             tzinfo=pytz.UTC))

        self.grp = Group.objects.create(name='Test group',
                                        organization=self.organization,
                                        user=self.user)

        self.grp.channels.add(self.chan1)
        self.grp.channels.add(self.chan2)

        self.archive1 = ArchiveDay.objects.create(
            channel=self.chan1,
            metric=self.metric,
            min=-2,
            max=1,
            mean=0,
            median=0,
            stdev=0,
            num_samps=1,
            p05=0,
            p10=0,
            p90=0,
            p95=0,
            starttime=datetime(2019, 5, 5, 0, tzinfo=pytz.UTC),
            endtime=datetime(2019, 5, 6, 0, tzinfo=pytz.UTC))

        self.archive2 = ArchiveDay.objects.create(
            channel=self.chan2,
            metric=self.metric,
            min=0,
            max=3,
            mean=0,
            median=0,
            stdev=0,
            num_samps=1,
            p05=0,
            p10=0,
            p90=0,
            p95=0,
            starttime=datetime(2019, 5, 5, tzinfo=pytz.UTC),
            endtime=datetime(2019, 5, 6, tzinfo=pytz.UTC))
コード例 #26
0
 def setUp(self):
     self.user = sample_user('*****@*****.**')
コード例 #27
0
ファイル: test_dashboard_api.py プロジェクト: pnsn/squacapi
    def setUp(self):
        self.client = APIClient()
        self.user = sample_user()
        self.user.is_staff = True
        self.client.force_authenticate(self.user)
        timezone.now()
        self.metric = Metric.objects.create(name='Sample metric',
                                            code="asdfjcode",
                                            unit='furlong',
                                            default_minval=1,
                                            default_maxval=10.0,
                                            user=self.user)
        self.net = Network.objects.create(code="UW",
                                          name="University of Washington",
                                          user=self.user)
        self.chan = Channel.objects.create(code='EHZ',
                                           name="EHZ",
                                           station_code='RCM',
                                           station_name='Camp Muir',
                                           loc="--",
                                           network=self.net,
                                           lat=45,
                                           lon=-122,
                                           elev=0,
                                           user=self.user,
                                           starttime=datetime(1970,
                                                              1,
                                                              1,
                                                              tzinfo=pytz.UTC),
                                           endtime=datetime(2599,
                                                            12,
                                                            31,
                                                            tzinfo=pytz.UTC))
        self.organization = Organization.objects.create(name='PNSN')
        self.grp = Group.objects.create(name='Sample group',
                                        user=self.user,
                                        organization=self.organization)
        self.dashboard = Dashboard.objects.create(
            name='Test dashboard',
            user=self.user,
            organization=self.organization,
            home=True)
        self.widtype = WidgetType.objects.create(name='Test widget type',
                                                 type='Some type',
                                                 user=self.user)
        self.stattype = StatType.objects.create(name="Maxeo",
                                                type="max",
                                                user=self.user)
        self.widget = Widget.objects.create(
            name='Test widget',
            dashboard=self.dashboard,
            widgettype=self.widtype,
            stattype=self.stattype,
            columns=6,
            rows=3,
            x_position=1,
            y_position=1,
            user=self.user,
            channel_group=self.grp,
        )

        self.threshold = Threshold.objects.create(widget=self.widget,
                                                  metric=self.metric,
                                                  minval=9.0,
                                                  maxval=10.0,
                                                  user=self.user)
コード例 #28
0
ファイル: test_dashboard_api.py プロジェクト: pnsn/squacapi
    def setUp(self):
        self.user = sample_user()
        self.client = APIClient()
        # unauthenticate all requests
        self.client.force_authenticate(user=None)
        timezone.now()
        self.metric = Metric.objects.create(name='Metric test',
                                            code="code123",
                                            unit='meter',
                                            default_minval=1,
                                            default_maxval=10.0,
                                            user=self.user)
        self.net = Network.objects.create(code="UW",
                                          name="University of Washington",
                                          user=self.user)
        self.chan = Channel.objects.create(code='EHZ',
                                           name="EHZ",
                                           station_code='RCM',
                                           station_name='Camp Muir',
                                           loc="--",
                                           network=self.net,
                                           lat=45,
                                           lon=-122,
                                           elev=0,
                                           user=self.user,
                                           starttime=datetime(1970,
                                                              1,
                                                              1,
                                                              tzinfo=pytz.UTC),
                                           endtime=datetime(2599,
                                                            12,
                                                            31,
                                                            tzinfo=pytz.UTC))
        self.organization = Organization.objects.create(name='PNSN')
        self.grp = Group.objects.create(name='Test group',
                                        user=self.user,
                                        organization=self.organization)

        self.grp.channels.add(self.chan)
        self.dashboard = Dashboard.objects.create(
            name='Test dashboard',
            user=self.user,
            organization=self.organization)
        self.widtype = WidgetType.objects.create(name='Test widget type',
                                                 type='Some type',
                                                 user=self.user,
                                                 use_aggregate=True)
        self.stattype = StatType.objects.create(name="Average",
                                                type="ave",
                                                user=self.user)
        self.widget = Widget.objects.create(
            name='Test widget',
            dashboard=self.dashboard,
            widgettype=self.widtype,
            stattype=self.stattype,
            columns=6,
            rows=3,
            x_position=1,
            y_position=1,
            user=self.user,
            channel_group=self.grp,
        )
        self.widget.metrics.add(self.metric)
コード例 #29
0
    def setUp(self):
        '''create sample authenticated user'''
        self.reporter = sample_user()
        self.reporter2 = sample_user('*****@*****.**')
        self.viewer = sample_user('*****@*****.**')
        self.other = sample_user('*****@*****.**')
        self.reporter_client = APIClient()
        self.reporter2_client = APIClient()
        self.viewer_client = APIClient()

        self.reporter_group = create_group('reporter', REPORTER_PERMISSIONS)
        self.viewer_group = create_group('viewer', VIEWER_PERMISSIONS)
        self.reporter.groups.add(self.reporter_group)
        self.reporter2.groups.add(self.reporter_group)
        self.viewer.groups.add(self.viewer_group)
        self.reporter_client.force_authenticate(user=self.reporter)
        self.reporter2_client.force_authenticate(user=self.reporter)
        self.viewer_client.force_authenticate(user=self.viewer)

        self.metric = Metric.objects.create(name='Sample metric',
                                            unit='furlong',
                                            code="someotherfuknthing",
                                            default_minval=1,
                                            default_maxval=10.0,
                                            user=self.reporter,
                                            reference_url='pnsn.org')
        self.metric_other = Metric.objects.create(
            name='Sample metric1',
            unit='furlong',
            code="someotherfuknthingajig",
            default_minval=1,
            default_maxval=10.0,
            user=self.other,
            reference_url='pnsn.org')
        self.net = Network.objects.create(code="UW",
                                          name="University of Washington",
                                          user=self.reporter)
        self.chan = Channel.objects.create(code='EHZ',
                                           name="EHZ",
                                           station_code='RCM',
                                           station_name='Camp Muir',
                                           loc="--",
                                           network=self.net,
                                           lat=45,
                                           lon=-122,
                                           elev=0,
                                           user=self.reporter,
                                           starttime=datetime(1970,
                                                              1,
                                                              1,
                                                              tzinfo=pytz.UTC),
                                           endtime=datetime(2599,
                                                            12,
                                                            31,
                                                            tzinfo=pytz.UTC))
        self.measurement = Measurement.objects.create(
            metric=self.metric,
            channel=self.chan,
            value=3.0,
            starttime=datetime(2019, 5, 5, 8, 8, 7, 127325, tzinfo=pytz.UTC),
            endtime=datetime(2019, 5, 5, 9, 8, 7, 127325, tzinfo=pytz.UTC),
            user=self.reporter)
        self.measurement_other = Measurement.objects.create(
            metric=self.metric,
            channel=self.chan,
            value=4.0,
            starttime=datetime(2019, 6, 5, 8, 8, 7, 127325, tzinfo=pytz.UTC),
            endtime=datetime(2019, 6, 5, 9, 8, 7, 127325, tzinfo=pytz.UTC),
            user=self.other)

        self.organization = Organization.objects.create(name='PNSN')
        self.grp = Group.objects.create(name='Test group',
                                        user=self.reporter,
                                        organization=self.organization)

        self.grp.channels.add(self.chan)

        # reporter 1
        self.monitor = Monitor.objects.create(metric=self.metric,
                                              channel_group=self.grp,
                                              interval_type='hour',
                                              interval_count=1,
                                              num_channels=1,
                                              stat="sum",
                                              name='test',
                                              user=self.reporter)
        # and one for reporter 2
        self.monitor2 = Monitor.objects.create(metric=self.metric,
                                               channel_group=self.grp,
                                               interval_type='hour',
                                               interval_count=1,
                                               num_channels=1,
                                               stat="sum",
                                               name='test',
                                               user=self.reporter2)