import unittest
import unittest.mock as mock

from Test.GenericTest import GenericTest
from Test.Lib import get_bytes, get_x86_nop

sha_one_attacker_ftp = '941947ccc42ea10e724d2a20626882130d62fc5dbbe007095a90f67a943ab3bf'

"""
Name                             Stmts   Miss  Cover   Missing
--------------------------------------------------------------------------------------------
Attack/FTPWinaXeExploit.py         141     14    90%   55, 66, 71, 121-122, 148-150, 208-214
"""


class UnitTestFTPWinaXeExploit(GenericTest):

    @mock.patch('ID2TLib.Utility.get_rnd_bytes', side_effect=get_bytes)
    @mock.patch('ID2TLib.Utility.get_rnd_x86_nop', side_effect=get_x86_nop)
    def test_one_attacker_ftp(self, mock_get_rnd_bytes, mock_get_rnd_x86_nop):
        self.generic_test([['FTPWinaXeExploit']], sha_one_attacker_ftp)


if __name__ == '__main__':
    unittest.main()