Ejemplo n.º 1
0
    def test_get(self):
        image = DashboardImage.create(1, 2, 3, 7, 'blah')
        self.assertEqual(memcache.get('dashboard-image:1:2:3:7'), 'blah')
        memcache.set('dashboard-image:1:2:3:7', 'new value')

        # Check twice to make sure the first call doesn't clear memcache
        self.assertEqual(DashboardImage.get_image(1, 2, 3, 7), 'new value')
        self.assertEqual(DashboardImage.get_image(1, 2, 3, 7), 'new value')

        memcache.delete('dashboard-image:1:2:3:7')
        self.assertEqual(memcache.get('dashboard-image:1:2:3:7'), None)
        self.assertEqual(DashboardImage.get_image(1, 2, 3, 7), 'blah')
        self.assertEqual(memcache.get('dashboard-image:1:2:3:7'), 'blah')
Ejemplo n.º 2
0
    def test_get(self):
        image = DashboardImage.create(1, 2, 3, 7, 'blah')
        self.assertEqual(memcache.get('dashboard-image:1:2:3:7'), 'blah')
        memcache.set('dashboard-image:1:2:3:7', 'new value')

        # Check twice to make sure the first call doesn't clear memcache
        self.assertEqual(DashboardImage.get_image(1, 2, 3, 7), 'new value')
        self.assertEqual(DashboardImage.get_image(1, 2, 3, 7), 'new value')

        memcache.delete('dashboard-image:1:2:3:7')
        self.assertEqual(memcache.get('dashboard-image:1:2:3:7'), None)
        self.assertEqual(DashboardImage.get_image(1, 2, 3, 7), 'blah')
        self.assertEqual(memcache.get('dashboard-image:1:2:3:7'), 'blah')
Ejemplo n.º 3
0
    def get(self, test_id, branch_id, platform_id, display_days):
        try:
            branch_id = int(branch_id)
            platform_id = int(platform_id)
            test_id = int(test_id)
            display_days = int(display_days)
        except ValueError:
            self.response.headers['Content-Type'] = 'text/plain; charset=utf-8'
            self.response.out.write('Failed')

        self.response.headers['Content-Type'] = 'image/png'
        image = DashboardImage.get_by_key_name(DashboardImage.key_name(branch_id, platform_id, test_id, display_days))
        if image:
            self.response.out.write(image.image)
Ejemplo n.º 4
0
    def post(self):
        self.response.headers['Content-Type'] = 'text/plain; charset=utf-8'
        test_id, branch_id, platform_id = _get_test_branch_platform_ids(self)

        branch = model_from_numeric_id(branch_id, Branch)
        platform = model_from_numeric_id(platform_id, Platform)
        test = model_from_numeric_id(test_id, Test)
        display_days = int(self.request.get('displayDays'))
        assert branch
        assert platform
        assert test

        params = Runs(branch, platform, test.name).chart_params(display_days)
        dashboard_chart_file = urllib.urlopen('http://chart.googleapis.com/chart', urllib.urlencode(params))

        DashboardImage.create(branch.id, platform.id, test.id, display_days, dashboard_chart_file.read())
Ejemplo n.º 5
0
def schedule_runs_update(test_id, branch_id, platform_id, regenerate_runs=True):
    if regenerate_runs:
        taskqueue.add(url='/api/test/runs/update', params={'id': test_id, 'branchid': branch_id, 'platformid': platform_id})
    for display_days in [7, 30, 90, 365]:
        if DashboardImage.needs_update(branch_id, platform_id, test_id, display_days):
            taskqueue.add(url='/api/test/runs/chart', params={'id': test_id, 'branchid': branch_id, 'platformid': platform_id,
                'displayDays': display_days})
Ejemplo n.º 6
0
    def post(self):
        return
        self.response.headers['Content-Type'] = 'text/plain; charset=utf-8'
        test_id, branch_id, platform_id = _get_test_branch_platform_ids(self)

        branch = model_from_numeric_id(branch_id, Branch)
        platform = model_from_numeric_id(platform_id, Platform)
        test = model_from_numeric_id(test_id, Test)
        display_days = int(self.request.get('displayDays'))
        assert branch
        assert platform
        assert test
        params = Runs.get_by_objects(branch, platform, test).chart_params(display_days)
        if not params:
            return
        dashboard_chart_file = urllib.urlopen('http://chart.googleapis.com/chart', urllib.urlencode(params))

        DashboardImage.create(branch.id, platform.id, test.id, display_days, dashboard_chart_file.read())
Ejemplo n.º 7
0
    def post(self):
        self.response.headers["Content-Type"] = "text/plain; charset=utf-8"
        test_id, branch_id, platform_id = _get_test_branch_platform_ids(self)

        branch = model_from_numeric_id(branch_id, Branch)
        platform = model_from_numeric_id(platform_id, Platform)
        test = model_from_numeric_id(test_id, Test)
        display_days = int(self.request.get("displayDays"))
        assert branch
        assert platform
        assert test

        params = Runs.update_or_insert(branch, platform, test).chart_params(display_days)
        if not params:
            return
        dashboard_chart_file = urllib.urlopen("http://chart.googleapis.com/chart", urllib.urlencode(params))

        DashboardImage.create(branch.id, platform.id, test.id, display_days, dashboard_chart_file.read())
Ejemplo n.º 8
0
def schedule_runs_update(test_id, branch_id, platform_id, regenerate_runs=True):
    if regenerate_runs:
        taskqueue.add(
            url="/api/test/runs/update", params={"id": test_id, "branchid": branch_id, "platformid": platform_id}
        )
    for display_days in [7]:
        if DashboardImage.needs_update(branch_id, platform_id, test_id, display_days):
            taskqueue.add(
                url="/api/test/runs/chart",
                params={"id": test_id, "branchid": branch_id, "platformid": platform_id, "displayDays": display_days},
            )
Ejemplo n.º 9
0
    def get(self, test_id, branch_id, platform_id, display_days):
        try:
            branch_id = int(branch_id)
            platform_id = int(platform_id)
            test_id = int(test_id)
            display_days = int(display_days)
        except ValueError:
            self.response.headers['Content-Type'] = 'text/plain; charset=utf-8'
            self.response.out.write('Failed')

        self.response.headers['Content-Type'] = 'image/png'
        self.response.out.write(DashboardImage.get_image(branch_id, platform_id, test_id, display_days))
Ejemplo n.º 10
0
    def get(self, test_id, branch_id, platform_id, display_days):
        try:
            branch_id = int(branch_id)
            platform_id = int(platform_id)
            test_id = int(test_id)
            display_days = int(display_days)
        except ValueError:
            self.response.headers["Content-Type"] = "text/plain; charset=utf-8"
            self.response.out.write("Failed")

        self.response.headers["Content-Type"] = "image/png"
        self.response.out.write(DashboardImage.get_image(branch_id, platform_id, test_id, display_days))
Ejemplo n.º 11
0
def schedule_runs_update(test_id,
                         branch_id,
                         platform_id,
                         regenerate_runs=True):
    if regenerate_runs:
        taskqueue.add(url='/api/test/runs/update',
                      params={
                          'id': test_id,
                          'branchid': branch_id,
                          'platformid': platform_id
                      })
    for display_days in [7, 30, 90, 365]:
        if DashboardImage.needs_update(branch_id, platform_id, test_id,
                                       display_days):
            taskqueue.add(url='/api/test/runs/chart',
                          params={
                              'id': test_id,
                              'branchid': branch_id,
                              'platformid': platform_id,
                              'displayDays': display_days
                          })
Ejemplo n.º 12
0
    def test_needs_update(self):
        self.assertTrue(DashboardImage.needs_update(1, 2, 3, 7))
        self.assertTrue(DashboardImage.needs_update(1, 2, 3, 30))
        self.assertTrue(DashboardImage.needs_update(1, 2, 3, 60))
        self.assertTrue(DashboardImage.needs_update(1, 2, 3, 365))

        image = DashboardImage(key_name=DashboardImage.key_name(1, 2, 3, 7), image='blah')
        image.put()
        self.assertOnlyInstance(image)
        self.assertTrue(DashboardImage.needs_update(1, 2, 3, 7))

        DashboardImage(key_name=DashboardImage.key_name(1, 2, 3, 30), image='blah').put()
        self.assertFalse(DashboardImage.needs_update(1, 2, 3, 30, datetime.now() + timedelta(0, 10)))

        DashboardImage(key_name=DashboardImage.key_name(1, 2, 4, 30), image='blah').put()
        self.assertTrue(DashboardImage.needs_update(1, 2, 4, 30, datetime.now() + timedelta(1)))

        DashboardImage(key_name=DashboardImage.key_name(1, 2, 3, 90), image='blah').put()
        self.assertFalse(DashboardImage.needs_update(1, 2, 3, 90, datetime.now() + timedelta(0, 20)))

        DashboardImage(key_name=DashboardImage.key_name(1, 2, 4, 90), image='blah').put()
        self.assertTrue(DashboardImage.needs_update(1, 2, 4, 90, datetime.now() + timedelta(1)))

        DashboardImage(key_name=DashboardImage.key_name(1, 2, 3, 365), image='blah').put()
        self.assertFalse(DashboardImage.needs_update(1, 2, 3, 365, datetime.now() + timedelta(1)))

        DashboardImage(key_name=DashboardImage.key_name(1, 2, 4, 365), image='blah').put()
        self.assertTrue(DashboardImage.needs_update(1, 2, 4, 365, datetime.now() + timedelta(10)))
Ejemplo n.º 13
0
 def test_create(self):
     self.assertEqual(memcache.get('dashboard-image:1:2:3:7'), None)
     self.assertThereIsNoInstanceOf(DashboardImage)
     image = DashboardImage.create(1, 2, 3, 7, 'blah')
     self.assertOnlyInstance(image)
     self.assertEqual(memcache.get('dashboard-image:1:2:3:7'), 'blah')
Ejemplo n.º 14
0
    def test_needs_update(self):
        self.assertTrue(DashboardImage.needs_update(1, 2, 3, 7))
        self.assertTrue(DashboardImage.needs_update(1, 2, 3, 30))
        self.assertTrue(DashboardImage.needs_update(1, 2, 3, 60))
        self.assertTrue(DashboardImage.needs_update(1, 2, 3, 365))

        image = DashboardImage(key_name=DashboardImage.key_name(1, 2, 3, 7), image='blah')
        image.put()
        self.assertOnlyInstance(image)
        self.assertTrue(DashboardImage.needs_update(1, 2, 3, 7))

        DashboardImage(key_name=DashboardImage.key_name(1, 2, 3, 30), image='blah').put()
        self.assertFalse(DashboardImage.needs_update(1, 2, 3, 30, datetime.now() + timedelta(0, 10)))

        DashboardImage(key_name=DashboardImage.key_name(1, 2, 4, 30), image='blah').put()
        self.assertTrue(DashboardImage.needs_update(1, 2, 4, 30, datetime.now() + timedelta(1)))

        DashboardImage(key_name=DashboardImage.key_name(1, 2, 3, 90), image='blah').put()
        self.assertFalse(DashboardImage.needs_update(1, 2, 3, 90, datetime.now() + timedelta(0, 20)))

        DashboardImage(key_name=DashboardImage.key_name(1, 2, 4, 90), image='blah').put()
        self.assertTrue(DashboardImage.needs_update(1, 2, 4, 90, datetime.now() + timedelta(1)))

        DashboardImage(key_name=DashboardImage.key_name(1, 2, 3, 365), image='blah').put()
        self.assertFalse(DashboardImage.needs_update(1, 2, 3, 365, datetime.now() + timedelta(1)))

        DashboardImage(key_name=DashboardImage.key_name(1, 2, 4, 365), image='blah').put()
        self.assertTrue(DashboardImage.needs_update(1, 2, 4, 365, datetime.now() + timedelta(10)))
Ejemplo n.º 15
0
 def test_create(self):
     self.assertEqual(memcache.get('dashboard-image:1:2:3:7'), None)
     self.assertThereIsNoInstanceOf(DashboardImage)
     image = DashboardImage.create(1, 2, 3, 7, 'blah')
     self.assertOnlyInstance(image)
     self.assertEqual(memcache.get('dashboard-image:1:2:3:7'), 'blah')