def test_TotalTasks(self):
        instanceMeta = InstanceMetadata(id=1,
                                        aws_id=2,
                                        ncommands=10,
                                        nuploads=10,
                                        ndownloads=10,
                                        lastmessage="message",
                                        lastupdate="the date",
                                        ncommandsFinished=0,
                                        nuploadsFinished=0,
                                        ndownloadsFinished=0)

        self.assertEqual(instanceMeta.TotalTasks(), 30)
    def test_GetTimeSinceLastUpdate(self):

        dummyTimeStr = "20171018-23:15:30 UTC"
        dummyTime = TimeHelper.ParseUTCString(dummyTimeStr)
        instanceMeta = InstanceMetadata(id=1,
                                        aws_id=2,
                                        ncommands=10,
                                        nuploads=10,
                                        ndownloads=10,
                                        lastmessage="message",
                                        lastupdate=dummyTimeStr,
                                        ncommandsFinished=0,
                                        nuploadsFinished=0,
                                        ndownloadsFinished=0)

        expectedInterval = TimeHelper.GetTimeElapsed(dummyTimeStr)
        interval = instanceMeta.GetTimeSinceLastUpdate()

        self.assertLess(abs(expectedInterval - interval), 0.1)
Esempio n. 3
0
 def FromJson(self, filepath):
     with open(filepath) as f:
         data = json.load(f)
         inst = InstanceMetadata(data["Id"], data["AWS_Instance_Id"],
                                 data["CommandCount"], data["UploadCount"],
                                 data["DownloadCount"], data["LastMessage"],
                                 data["LastUpdate"],
                                 data["NCommandsFinished"],
                                 data["NUploadsFinished"],
                                 data["NDownloadsFinished"])
     return inst
Esempio n. 4
0
 def InitializeMetadata(self, id, aws_id):
     ncommands = len(self.manifest.GetJob(id)["Commands"])
     nuploads = self._GetUploadCount(id)
     ndownloads = len(self.manifest.GetJob(id)["RequiredS3Data"]) - nuploads
     inst = InstanceMetadata(id=id,
                             aws_id=aws_id,
                             ncommands=ncommands,
                             nuploads=nuploads,
                             ndownloads=ndownloads,
                             lastmessage="Initialize",
                             lastupdate=TimeHelper.GetUTCNowString(),
                             ncommandsFinished=0,
                             nuploadsFinished=0,
                             ndownloadsFinished=0)
     return inst
    def test_IncrementUploadsFinished(self):
        instanceMeta = InstanceMetadata(id=1,
                                        aws_id=2,
                                        ncommands=10,
                                        nuploads=10,
                                        ndownloads=10,
                                        lastmessage="message",
                                        lastupdate="empty",
                                        ncommandsFinished=0,
                                        nuploadsFinished=0,
                                        ndownloadsFinished=0)

        self.assertEqual(instanceMeta.Get("NUploadsFinished"), 0)
        self.assertEqual(instanceMeta.Get("LastUpdate"), "empty")
        instanceMeta.IncrementUploadsFinished()
        self.assertEqual(instanceMeta.Get("NUploadsFinished"), 1)
        newTime = instanceMeta.Get("LastUpdate")
        self.assertTrue(TimeHelper.GetTimeElapsed(newTime) < 1.0)
    def test_AllTasksFinished(self):
        instanceMeta = InstanceMetadata(id=1,
                                        aws_id=2,
                                        ncommands=10,
                                        nuploads=10,
                                        ndownloads=10,
                                        lastmessage="message",
                                        lastupdate=" ",
                                        ncommandsFinished=0,
                                        nuploadsFinished=0,
                                        ndownloadsFinished=0)

        for x in range(0, 10):
            self.assertFalse(instanceMeta.AllTasksFinished())
            instanceMeta.IncrementUploadsFinished()
            instanceMeta.IncrementCommandFinished()
            instanceMeta.IncrementDownloadFinished()

        self.assertTrue(instanceMeta.AllTasksFinished())
    def test_init(self):

        instanceMeta = InstanceMetadata(id=1,
                                        aws_id=2,
                                        ncommands=10,
                                        nuploads=10,
                                        ndownloads=10,
                                        lastmessage="message",
                                        lastupdate="2017",
                                        ncommandsFinished=0,
                                        nuploadsFinished=0,
                                        ndownloadsFinished=0)
        self.assertEquals(instanceMeta.Get("Id"), 1)
        self.assertEquals(instanceMeta.Get("AWS_Instance_Id"), 2)
        self.assertEquals(instanceMeta.Get("CommandCount"), 10)
        self.assertEquals(instanceMeta.Get("UploadCount"), 10)
        self.assertEquals(instanceMeta.Get("DownloadCount"), 10)
        self.assertEquals(instanceMeta.Get("LastMessage"), "message")
        self.assertEquals(instanceMeta.Get("LastUpdate"), "2017")
        self.assertEquals(instanceMeta.Get("NCommandsFinished"), 0)
        self.assertEquals(instanceMeta.Get("NUploadsFinished"), 0)
        self.assertEquals(instanceMeta.Get("NDownloadsFinished"), 0)
 def test_Get_raises_error_on_bad_key(self):
     instanceMeta = InstanceMetadata(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
     self.assertRaises(KeyError, lambda: instanceMeta.Get("missing"))