@@ -21,28 +21,31 @@ import anydbm
|
|||||||
import os
|
import os
|
||||||
import tempfile
|
import tempfile
|
||||||
import unittest
|
import unittest
|
||||||
|
|
||||||
from virtualsmartcard.CardGenerator import CardGenerator
|
from virtualsmartcard.CardGenerator import CardGenerator
|
||||||
|
|
||||||
class TestNPACardGenerator(unittest.TestCase):
|
class ISO7816GeneratorTest(unittest.TestCase):
|
||||||
|
|
||||||
|
card_type = 'iso7816'
|
||||||
|
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
self.filename = tempfile.mktemp()
|
self.filename = tempfile.mktemp()
|
||||||
self.nPA_generator = CardGenerator('nPA')
|
self.card_generator = CardGenerator(self.card_type)
|
||||||
self.nPA_generator.password = "TestPassword"
|
self.card_generator.password = "TestPassword"
|
||||||
|
|
||||||
def test_nPA_creation(self):
|
def test_card_creation(self):
|
||||||
self.nPA_generator.generateCard()
|
self.card_generator.generateCard()
|
||||||
self.nPA_generator.saveCard(self.filename)
|
self.card_generator.saveCard(self.filename)
|
||||||
mf, sam = self.nPA_generator.getCard()
|
mf, sam = self.card_generator.getCard()
|
||||||
self.assertIsNotNone(mf)
|
self.assertIsNotNone(mf)
|
||||||
self.assertIsNotNone(sam)
|
self.assertIsNotNone(sam)
|
||||||
os.unlink(self.filename)
|
os.unlink(self.filename)
|
||||||
|
|
||||||
def test_load_nPA_from_file_nPA_from_file(self):
|
def test_load_card_from_file(self):
|
||||||
self.nPA_generator.generateCard()
|
self.card_generator.generateCard()
|
||||||
self.nPA_generator.saveCard(self.filename)
|
self.card_generator.saveCard(self.filename)
|
||||||
local_generator= CardGenerator('nPA')
|
local_generator= CardGenerator(self.card_type)
|
||||||
local_generator.password = self.nPA_generator.password
|
local_generator.password = self.card_generator.password
|
||||||
local_generator.loadCard(self.filename)
|
local_generator.loadCard(self.filename)
|
||||||
mf, sam = local_generator.getCard()
|
mf, sam = local_generator.getCard()
|
||||||
self.assertIsNotNone(mf)
|
self.assertIsNotNone(mf)
|
||||||
@@ -51,7 +54,36 @@ class TestNPACardGenerator(unittest.TestCase):
|
|||||||
|
|
||||||
def test_load_nonexistent_file(self):
|
def test_load_nonexistent_file(self):
|
||||||
with self.assertRaises(anydbm.error):
|
with self.assertRaises(anydbm.error):
|
||||||
self.nPA_generator.loadCard(self.filename)
|
self.card_generator.loadCard(self.filename)
|
||||||
|
|
||||||
|
def test_get_and_set_card(self):
|
||||||
|
self.card_generator.generateCard()
|
||||||
|
mf, sam = self.card_generator.getCard()
|
||||||
|
local_generator= CardGenerator(self.card_type)
|
||||||
|
local_generator.setCard(mf, sam)
|
||||||
|
|
||||||
|
class TestNPACardGenerator(ISO7816GeneratorTest):
|
||||||
|
|
||||||
|
card_type = 'nPA'
|
||||||
|
|
||||||
|
def test_readDatagroups(self):
|
||||||
|
path = os.path.dirname(__file__)
|
||||||
|
datagroupsFile = path + "/../../../../npa-example-data/Example_Dataset_Mueller_Gertrud.txt"
|
||||||
|
self.card_generator.readDatagroups(datagroupsFile)
|
||||||
|
mf, sam = self.card_generator.getCard()
|
||||||
|
self.assertIsNotNone(mf)
|
||||||
|
self.assertIsNotNone(sam)
|
||||||
|
|
||||||
|
class CryptoflexGeneratorTest(ISO7816GeneratorTest):
|
||||||
|
|
||||||
|
card_type = 'cryptoflex'
|
||||||
|
|
||||||
|
# Not tested because an ePass card currently cannot be generated without user
|
||||||
|
# interaction.
|
||||||
|
#
|
||||||
|
#class ePassGeneratorTest(ISO7816GeneratorTest):
|
||||||
|
#
|
||||||
|
# card_type = 'ePass'
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|||||||
Reference in New Issue
Block a user