Beispiel #1
0
class NetCatCommander:
    def __init__(self, *args, **kwargs):
        self.env = NetCatEnvironment()
        self.exe = NetCat()

    def configure(self):
        self._create_home_dir()
        self._create_conf_file()

    def run(self, **kwargs):
        return self.exe.listen(self.env['port'],
                               stdout=sp.PIPE,
                               stderr=sp.STDOUT,
                               **kwargs)

    def _create_home_dir(self):
        if not os.path.exists(self.env['home_dir']):
            os.makedirs(self.env['home_dir'])

    def _create_conf_file(self):
        loader  = FileLoader('/')
        template = loader.load_template(self.env.abs_conf_tmpl())
        nc_conf = template.render(self.env)
        with open(self.env.abs_conf_file(), 'w') as fd:
            fd.write(nc_conf)
        
    def _destroy(self):
        shutil.rmtree(self.env['home_dir'])

    def __str__(self):
        return type(self).__name__
class NetCatEnvironmentTest(unittest.TestCase):

    def __init__(self, arg):
        super(NetCatEnvironmentTest, self).__init__(arg)
        os.environ['NETWORK_BASE_DIR'] = '/tmp/net/'
        self.home_dir = os.path.join(os.environ['NETWORK_BASE_DIR'], 'netcat666')
        
        
    def setUp(self):
        self.env = NetCatEnvironment()
        self.env.set_index(666)

    def tearDown(self):
        pass

    def test_home_dir(self):
        self.assertEqual(self.env['home_dir'], self.home_dir)

    def test_abs_conf_file(self):
        self.assertEqual(self.env.abs_conf_file(),
                         os.path.join(self.home_dir, 'nc.conf'))

    def test_abs_conf_tmpl(self):
        self.assertEqual(self.env.abs_conf_tmpl(),
                         os.path.join(os.environ['NETWORK_BASE_DIR'],
                                      'templates' , 'nc.conf.tmpl'))
Beispiel #3
0
 def __init__(self, *args, **kwargs):
     self.env = NetCatEnvironment()
     self.exe = NetCat()
 def setUp(self):
     self.env = NetCatEnvironment()
     self.env.set_index(666)