def test_entity(self): entities = gs.Core().entities self.assertEqual(len(entities), 1) eid0 = "62a6ec4c-c05a-4fae-be40-2011a79f8c62" e0 = entities[0] self.assertEqual(e0.id, eid0) self.assertEqual(e0.name, "E1") at = e0.attribute print(at) self.assertEqual(e0, gs.Core().getEntityById(eid0)) with self.assertRaises(gs.SdkError): gs.Core().getEntityById("x1") # not being accessed self.assertFalse(e0.accessing) self.assertTrue(e0.autoStart) self.assertEqual(e0.accessible, e0.license.valid) self.assertEqual(e0.locked, e0.license.locked) self.assertEqual(e0.unlocked, e0.license.unlocked) if e0.accessible: self.assertTrue(e0.beginAccess()) self.assertTrue(e0.accessing) self.assertTrue(e0.endAccess()) else: self.assertTrue(e0.locked) self.assertFalse(e0.unlocked)
def test_action0(self): req = gs.Core().createRequest() act = req.addAction(gs.ActionId.ACT_UNLOCK) self.assertEqual(act.id, gs.ActionId.ACT_UNLOCK) with self.assertRaises(gs.SdkError): req.addAction(gs.ActionId.ACT_ADD_ACCESSTIME, gs.Core().entities[0]) print(req.code)
def test_entity_monitor(self): init_core(self) e0 = gs.Core().entities[0] @gs.entity_access_heartbeat def ping(entity, event): print("ping >>") @gs.entity_access_started def onStarted(entity, event): print("started >>") @gs.entity_access_starting @gs.entity_access_started def handler(e: gs.Entity, event): print(f"entity {e.name} on {event} >>") self.assertEqual(e.id, e0.id) e0.beginAccess() import time print("sleep for 60 seconds...") time.sleep(10) e0.endAccess()
def test_unlock(self): core = gs.Core() code = core.entities[0].license.unlockRequestCode print(f"e0.lic.unlockReqCode: {code}") print(f"core.unlockReqCode: {core.unlockRequestCode}") print(f"core.cleanReqCode: {core.cleanRequestCode}") print(f"core.fixReqCode: {core.fixRequestCode}")
def test_licenseParam(self): lic = gs.Core().entities[0].license print("lic: %s" % lic.name) print(lic.params) isp = lic.inspector print("ISP: %r" % isp)
def init_core(self): core = gs.Core() #self.assertFalse(core.init("","","")) #self.assertTrue(core.LastErrorCode < 0) self.assertTrue( core.init(test_project['productId'], test_project['pathLic'], test_project['password'])) self.assertEqual(core.lastErrorCode, 0)
def test_action1(self): req = gs.Core().createRequest() print('\n', '*' * 30) for actId in gs.ActionId: act = req.addAction(actId) print(act, '\n') self.assertEqual(act.id, actId) print('\n', '*' * 30)
def test_action_clean(self): req = gs.Core().createRequest() print('\n', '*' * 30) act = req.addAction(gs.ActionId.ACT_CLEAN) self.assertFalse(act.hasExpireDate) act.expireDate = datetime.now() + timedelta(days=10) print(act, '\n') print(f"code={req.code}") print('\n', '*' * 30)
def test_action_setDuration(self): req = gs.Core().createRequest() print('\n', '*' * 30) act = req.addAction(gs.ActionId.ACT_SET_EXPIRE_DURATION) act.duration = 1000 self.assertEqual(act.duration, 1000) print(act, '\n') print(f"code={req.code}") print('\n', '*' * 30)
def test_action_addPeriod(self): req = gs.Core().createRequest() print('\n', '*' * 30) act = req.addAction(gs.ActionId.ACT_ADD_EXPIRE_PERIOD) act.addedPeriod = 200 self.assertEqual(act.addedPeriod, 200) print(act, '\n') print(f"code={req.code}") print('\n', '*' * 30)
def test_getInstance(self): ''' singleton api ''' core1 = gs.Core.getInstance() core2 = gs.Core.getInstance() core3 = gs.Core() self.assertEqual(core1, core2) self.assertEqual(core1, core3) # if core not initialized, LastErrorCode is not available with self.assertRaises(Exception): i = core3.lastErrorCode print("i=%d", i)
def test_action_setSessionTime(self): req = gs.Core().createRequest() print('\n', '*' * 30) act = req.addAction(gs.ActionId.ACT_SET_SESSIONTIME) act.sessionTime = 100 self.assertEqual(act.sessionTime, 100) print(act, '\n') print(f"code={req.code}") print('\n', '*' * 30)
def test_action_addDuration(self): req = gs.Core().createRequest() print('\n', '*' * 30) act = req.addAction(gs.ActionId.ACT_ADD_EXPIRE_DURATION) act.addedDuration = 250 self.assertEqual(act.addedDuration, 250) print(act, '\n') print(f"code={req.code}") print('\n', '*' * 30)
def test_action_setAccessTime(self): req = gs.Core().createRequest() print('\n', '*' * 30) act = req.addAction(gs.ActionId.ACT_SET_ACCESSTIME) act.times = 10 self.assertEqual(act.times, 10) print(act, '\n') print(f"code={req.code}") print('\n', '*' * 30)
def test_action_setEndDate(self): req = gs.Core().createRequest() print('\n', '*' * 30) act = req.addAction(gs.ActionId.ACT_SET_ENDDATE) self.assertFalse(act.hasEndDate) dt = datetime(2021, 6, 1) act.endDate = dt self.assertEqual(act.endDate, dt) print(act, '\n') print(f"code={req.code}") print('\n', '*' * 30)
def test_allEntityStatus(self): """ clean action must be applied before this test starts! """ print("\n\nplease make sure clean the license before testing!\n") core = gs.Core() self.assertFalse(core.isAllEntitiesLocked()) self.assertFalse(core.isAllEntitiesUnlocked()) # lock it! print("Lock it...\n") core.lockAllEntities() self.assertTrue(core.isAllEntitiesLocked()) print("Unlock it...\n") code = 'TUVP-C9NM-PRRO-GH33-5KC3' sn = '0BD3-4F5C-4EB4-9EE9' self.assertTrue(core.applyLicenseCode(code, sn)) self.assertTrue(core.isAllEntitiesUnlocked())
def test_online_activation(self): core = gs.Core() if core.isServerAlive(): print("license server is online") sn = 'xxx-yyy-zzz' self.assertFalse(core.isValidSN(sn)) self.assertTrue(core.isValidSN('0875-BB91-4449-9DCE')) self.assertTrue(core.applySN('0BD3-4F5C-4EB4-9EE9')) self.assertTrue(core.revokeSN('0BD3-4F5C-4EB4-9EE9')) self.assertTrue(core.isAllEntitiesLocked()) else: print("license server is offline")
def test_var(self): ''' test variable ''' core = gs.Core() with self.assertRaises(gs.SdkError): core.getVariable("level") age = core.getVariable("age") self.assertEqual(age.name, "age") self.assertEqual(age.value, 10) nm = core.getVariable("name") self.assertEqual(nm.name, "name") self.assertEqual(nm.value, "randy") self.assertEqual(core.getVariable("male").value, True) self.assertEqual(core.getVariable("salary").value, 123.5) t = core.getVariable("birthday").value self.assertEqual(str(t), '2020-04-01 22:00:00') # set def writeTest(vname, v): x = core.getVariable(vname) old_v = x.value x.value = v if isinstance(v, float): self.assertAlmostEqual(x.value, v, delta=0.1) else: self.assertEqual(x.value, v) x.value = old_v writeTest("age", 123) writeTest("name", "janet") writeTest("male", False) writeTest("salary", 888.88) dt = datetime.fromtimestamp(int(datetime.now().timestamp())) writeTest("birthday", dt)
def test_productInfo(self): '''product info''' self.assertEqual(gs.Core().productId, test_project['productId']) self.assertEqual(gs.Core().productName, test_project['productName']) self.assertEqual(gs.Core().buildId, test_project['buildId'])
def tearDownClass(cls): gs.Core().cleanUp()
def test_offline_activation(self): core = gs.Core() code = 'TUVP-C9NM-PRRO-GH33-5KC3' sn = '0BD3-4F5C-4EB4-9EE9' self.assertTrue(core.applyLicenseCode(code, sn))