@@ -174,6 +174,60 @@ func TestGenerateReverseTCP(t *testing.T) {
174174 })
175175}
176176
177+ func TestGenerateReverseHTTPS (t * testing.T ) {
178+ template , err := os .ReadFile ("testdata/template/ReverseHTTPS.class" )
179+ require .NoError (t , err )
180+ spew .Dump (template )
181+
182+ t .Run ("common" , func (t * testing.T ) {
183+ class , err := GenerateReverseHTTPS (template , "127.0.0.1" , 8443 , "test" , "" , "" , "Test" )
184+ require .NoError (t , err )
185+ spew .Dump (class )
186+ })
187+
188+ t .Run ("default class" , func (t * testing.T ) {
189+ class , err := GenerateReverseHTTPS (template , "127.0.0.1" , 8443 , "test" , "" , "" , "" )
190+ require .NoError (t , err )
191+ spew .Dump (class )
192+ })
193+
194+ t .Run ("compare" , func (t * testing.T ) {
195+ class , err := GenerateReverseHTTPS (template , "127.0.0.1" , 8443 , "test" , "" , "test" , "ReHTTPS" )
196+ require .NoError (t , err )
197+ spew .Dump (class )
198+
199+ expected , err := os .ReadFile ("testdata/template/compare/ReHTTPS.class" )
200+ require .NoError (t , err )
201+ require .Equal (t , expected , class )
202+ })
203+
204+ t .Run ("invalid template" , func (t * testing.T ) {
205+ t .Run ("invalid size" , func (t * testing.T ) {
206+ class , err := GenerateReverseHTTPS (nil , "" , 0 , "" , "" , "" , "" )
207+ require .EqualError (t , err , "invalid Java class template file size" )
208+ require .Zero (t , class )
209+ })
210+
211+ t .Run ("invalid data" , func (t * testing.T ) {
212+ class , err := GenerateReverseHTTPS (bytes .Repeat ([]byte {0x00 }, 8 ), "" , 0 , "" , "" , "" , "" )
213+ require .EqualError (t , err , "invalid Java class template file" )
214+ require .Zero (t , class )
215+ })
216+ })
217+
218+ t .Run ("empty host" , func (t * testing.T ) {
219+ class , err := GenerateReverseHTTPS (template , "" , 1234 , "" , "" , "" , "" )
220+ require .EqualError (t , err , "empty host" )
221+ require .Zero (t , class )
222+ })
223+
224+ t .Run ("zero port" , func (t * testing.T ) {
225+ class , err := GenerateReverseHTTPS (template , "127.0.0.1" , 0 , "" , "" , "" , "" )
226+ require .EqualError (t , err , "zero port" )
227+ require .Zero (t , class )
228+ })
229+ }
230+
177231func TestGenerateReverseTCP_Fake (t * testing.T ) {
178232 const (
179233 fileNameFlag = "ReverseTCP.java"
0 commit comments