Todo: 集成多平台 解决因SaiNiu线程抢占资源问题 本地提交测试环境打包 和 正式打包脚本与正式环境打包bat 提交Python32环境包 改进多日志文件生成情况修改打包日志细节
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
import copy
|
||||
import unittest
|
||||
|
||||
import win32cred
|
||||
|
||||
|
||||
class TestCredFunctions(unittest.TestCase):
|
||||
def setUp(self):
|
||||
self.flags = 0
|
||||
self.dummy_cred = {
|
||||
"TargetName": "DumyyUser",
|
||||
"Type": win32cred.CRED_TYPE_GENERIC,
|
||||
"Flags": self.flags,
|
||||
}
|
||||
|
||||
def create_dummy_cred(self):
|
||||
cred = copy.deepcopy(self.dummy_cred)
|
||||
cred.update(
|
||||
{
|
||||
"Persist": win32cred.CRED_PERSIST_SESSION,
|
||||
}
|
||||
)
|
||||
try:
|
||||
win32cred.CredWrite(cred, self.flags)
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
def is_dummy_cred(self):
|
||||
return (
|
||||
len(
|
||||
[
|
||||
e
|
||||
for e in win32cred.CredEnumerate()
|
||||
if e["TargetName"] == self.dummy_cred["TargetName"]
|
||||
]
|
||||
)
|
||||
== 1
|
||||
)
|
||||
|
||||
def test_creddelete(self):
|
||||
self.create_dummy_cred()
|
||||
self.assertTrue(self.is_dummy_cred())
|
||||
self.assertIsNone(win32cred.CredDelete(**self.dummy_cred))
|
||||
self.assertFalse(self.is_dummy_cred())
|
||||
self.create_dummy_cred()
|
||||
self.assertTrue(self.is_dummy_cred())
|
||||
self.assertIsNone(win32cred.CredDelete(*self.dummy_cred.values()))
|
||||
self.assertFalse(self.is_dummy_cred())
|
||||
self.create_dummy_cred()
|
||||
self.assertTrue(self.is_dummy_cred())
|
||||
self.assertIsNone(
|
||||
win32cred.CredDelete(self.dummy_cred["TargetName"], self.dummy_cred["Type"])
|
||||
)
|
||||
self.assertFalse(self.is_dummy_cred())
|
||||
self.create_dummy_cred()
|
||||
self.assertTrue(self.is_dummy_cred())
|
||||
self.assertIsNone(win32cred.CredDelete(self.dummy_cred))
|
||||
self.assertFalse(self.is_dummy_cred())
|
||||
self.create_dummy_cred()
|
||||
self.assertTrue(self.is_dummy_cred())
|
||||
self.assertIsNone(win32cred.CredDelete(Target=self.dummy_cred))
|
||||
self.assertFalse(self.is_dummy_cred())
|
||||
self.create_dummy_cred()
|
||||
self.assertTrue(self.is_dummy_cred())
|
||||
self.assertRaises(TypeError, win32cred.CredDelete, "")
|
||||
self.assertRaises(KeyError, win32cred.CredDelete, {})
|
||||
self.assertRaises(KeyError, win32cred.CredDelete, {"TargetName": ""})
|
||||
self.assertRaises(
|
||||
TypeError, win32cred.CredDelete, {"TargetName": "", "Type": 3.141593}
|
||||
)
|
||||
self.assertIsNone(win32cred.CredDelete(self.dummy_cred))
|
||||
self.assertFalse(self.is_dummy_cred())
|
||||
|
||||
def test_credgetsessiontypes(self):
|
||||
res = win32cred.CredGetSessionTypes()
|
||||
self.assertEqual(len(res), win32cred.CRED_TYPE_MAXIMUM)
|
||||
for i in range(1, len(res)):
|
||||
self.assertEqual(res[:i], win32cred.CredGetSessionTypes(i))
|
||||
self.assertEqual(
|
||||
res[:i], win32cred.CredGetSessionTypes(MaximumPersistCount=i)
|
||||
)
|
||||
self.assertRaises(
|
||||
ValueError,
|
||||
win32cred.CredGetSessionTypes,
|
||||
0,
|
||||
)
|
||||
self.assertRaises(
|
||||
ValueError,
|
||||
win32cred.CredGetSessionTypes,
|
||||
MaximumPersistCount=win32cred.CRED_TYPE_MAXIMUM + 1,
|
||||
)
|
||||
Reference in New Issue
Block a user