def setUp(self): self.tmp_dir = tempfile.mkdtemp() self.host = '127.0.0.1' databus = conpot_core.get_databus() databus.initialize('conpot/templates/default/template.xml') args = namedtuple('FakeArgs', 'mibpaths raw_mib') args.mibpaths = [self.tmp_dir] args.raw_mib = [self.tmp_dir] self.opc_server = OPCServer('conpot/templates/default/opc/opc.xml', 'none', args) self.server_greenlet = gevent.spawn(self.opc_server.start, self.host, 0) gevent.sleep(1) self.port = self.opc_server.get_port()
class TestBase(unittest.TestCase): def setUp(self): self.tmp_dir = tempfile.mkdtemp() self.host = '127.0.0.1' databus = conpot_core.get_databus() databus.initialize('conpot/templates/default/template.xml') args = namedtuple('FakeArgs', 'mibpaths raw_mib') args.mibpaths = [self.tmp_dir] args.raw_mib = [self.tmp_dir] self.opc_server = OPCServer('conpot/templates/default/opc/opc.xml', 'none', args) self.server_greenlet = gevent.spawn(self.opc_server.start, self.host, 0) gevent.sleep(1) self.port = self.opc_server.get_port() def tearDown(self): shutil.rmtree(self.tmp_dir) def test_opc_get(self): """ Objective: Test if we can get data via opc_get """ client = opc_client.OPCClient(self.host, self.port) oid = ((1, 3, 6, 1, 2, 1, 1, 1, 0), None) client.get_command(oid, callback=self.mock_callback) self.assertEqual("Siemens, SIMATIC, S7-200", self.result) def test_opc_set(self): """ Objective: Test if we can set data via opc_set """ client = opc_client.OPCClient(self.host, self.port) # syslocation oid = ((1, 3, 6, 1, 2, 1, 1, 6, 0), rfc1902.OctetString('TESTVALUE')) client.set_command(oid, callback=self.mock_callback) databus = conpot_core.get_databus() self.assertEqual('TESTVALUE', databus.get_value('sysLocation')) def mock_callback(self, sendRequestHandle, errorIndication, errorStatus, errorIndex, varBindTable, cbCtx): self.result = None if errorIndication: self.result = errorIndication elif errorStatus: self.result = errorStatus.prettyPrint() else: for oid, val in varBindTable: self.result = val.prettyPrint()