mirror of
https://github.com/projectdiscovery/nuclei.git
synced 2025-12-18 04:35:24 +00:00
using table driven tests
This commit is contained in:
parent
d08d9d2dc0
commit
0c2b79bbf5
@ -18,11 +18,15 @@ func TestReadResponseFromString(t *testing.T) {
|
||||
<h1>What is the Firing Range?</h1>
|
||||
<p>
|
||||
</body>
|
||||
</body>
|
||||
</html>`
|
||||
|
||||
t.Run("response", func(t *testing.T) {
|
||||
data := `HTTP/1.1 200 OK
|
||||
tests := []struct {
|
||||
name string
|
||||
data string
|
||||
}{
|
||||
{
|
||||
name: "response",
|
||||
data: `HTTP/1.1 200 OK
|
||||
Age: 0
|
||||
Cache-Control: public, max-age=600
|
||||
Content-Type: text/html
|
||||
@ -38,19 +42,11 @@ Server: Google Frontend
|
||||
<h1>What is the Firing Range?</h1>
|
||||
<p>
|
||||
</body>
|
||||
</body>
|
||||
</html>`
|
||||
resp, err := readResponseFromString(data)
|
||||
require.Nil(t, err, "could not read response from string")
|
||||
|
||||
respData, err := ioutil.ReadAll(resp.Body)
|
||||
require.Nil(t, err, "could not read response body")
|
||||
require.Equal(t, expectedBody, string(respData), "could not get correct parsed body")
|
||||
require.Equal(t, "Google Frontend", resp.Header.Get("Server"), "could not get correct headers")
|
||||
})
|
||||
|
||||
t.Run("response-http2-without-minor-version", func(t *testing.T) {
|
||||
data := `HTTP/2 200 OK
|
||||
</html>`,
|
||||
},
|
||||
{
|
||||
name: "response-http2-without-minor-version",
|
||||
data: `HTTP/2 200 OK
|
||||
Age: 0
|
||||
Cache-Control: public, max-age=600
|
||||
Content-Type: text/html
|
||||
@ -66,19 +62,11 @@ Server: Google Frontend
|
||||
<h1>What is the Firing Range?</h1>
|
||||
<p>
|
||||
</body>
|
||||
</body>
|
||||
</html>`
|
||||
resp, err := readResponseFromString(data)
|
||||
require.Nil(t, err, "could not read response from string")
|
||||
|
||||
respData, err := ioutil.ReadAll(resp.Body)
|
||||
require.Nil(t, err, "could not read response body")
|
||||
require.Equal(t, expectedBody, string(respData), "could not get correct parsed body")
|
||||
require.Equal(t, "Google Frontend", resp.Header.Get("Server"), "could not get correct headers")
|
||||
})
|
||||
|
||||
t.Run("response-http2-with-minor-version", func(t *testing.T) {
|
||||
data := `HTTP/2.0 200 OK
|
||||
</html>`,
|
||||
},
|
||||
{
|
||||
name: "response-http2-with-minor-version",
|
||||
data: `HTTP/2.0 200 OK
|
||||
Age: 0
|
||||
Cache-Control: public, max-age=600
|
||||
Content-Type: text/html
|
||||
@ -94,19 +82,11 @@ Server: Google Frontend
|
||||
<h1>What is the Firing Range?</h1>
|
||||
<p>
|
||||
</body>
|
||||
</body>
|
||||
</html>`
|
||||
resp, err := readResponseFromString(data)
|
||||
require.Nil(t, err, "could not read response from string")
|
||||
|
||||
respData, err := ioutil.ReadAll(resp.Body)
|
||||
require.Nil(t, err, "could not read response body")
|
||||
require.Equal(t, expectedBody, string(respData), "could not get correct parsed body")
|
||||
require.Equal(t, "Google Frontend", resp.Header.Get("Server"), "could not get correct headers")
|
||||
})
|
||||
|
||||
t.Run("request-response", func(t *testing.T) {
|
||||
data := `GET http://public-firing-range.appspot.com/ HTTP/1.1
|
||||
</html>`,
|
||||
},
|
||||
{
|
||||
name: "request-response",
|
||||
data: `GET http://public-firing-range.appspot.com/ HTTP/1.1
|
||||
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
|
||||
Accept-Encoding: gzip, deflate
|
||||
Upgrade-Insecure-Requests: 1
|
||||
@ -128,19 +108,11 @@ Server: Google Frontend
|
||||
<h1>What is the Firing Range?</h1>
|
||||
<p>
|
||||
</body>
|
||||
</body>
|
||||
</html>`
|
||||
resp, err := readResponseFromString(data)
|
||||
require.Nil(t, err, "could not read response from string")
|
||||
|
||||
respData, err := ioutil.ReadAll(resp.Body)
|
||||
require.Nil(t, err, "could not read response body")
|
||||
require.Equal(t, expectedBody, string(respData), "could not get correct parsed body")
|
||||
require.Equal(t, "Google Frontend", resp.Header.Get("Server"), "could not get correct headers")
|
||||
})
|
||||
|
||||
t.Run("request-response-without-minor-version", func(t *testing.T) {
|
||||
data := `GET http://public-firing-range.appspot.com/ HTTP/1.1
|
||||
</html>`,
|
||||
},
|
||||
{
|
||||
name: "request-response-without-minor-version",
|
||||
data: `GET http://public-firing-range.appspot.com/ HTTP/1.1
|
||||
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
|
||||
Accept-Encoding: gzip, deflate
|
||||
Upgrade-Insecure-Requests: 1
|
||||
@ -162,15 +134,19 @@ Server: Google Frontend
|
||||
<h1>What is the Firing Range?</h1>
|
||||
<p>
|
||||
</body>
|
||||
</body>
|
||||
</html>`
|
||||
resp, err := readResponseFromString(data)
|
||||
require.Nil(t, err, "could not read response from string")
|
||||
</html>`,
|
||||
},
|
||||
}
|
||||
|
||||
respData, err := ioutil.ReadAll(resp.Body)
|
||||
require.Nil(t, err, "could not read response body")
|
||||
require.Equal(t, expectedBody, string(respData), "could not get correct parsed body")
|
||||
require.Equal(t, "Google Frontend", resp.Header.Get("Server"), "could not get correct headers")
|
||||
})
|
||||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
resp, err := readResponseFromString(tt.data)
|
||||
require.Nil(t, err, "could not read response from string")
|
||||
|
||||
respData, err := ioutil.ReadAll(resp.Body)
|
||||
require.Nil(t, err, "could not read response body")
|
||||
require.Equal(t, expectedBody, string(respData), "could not get correct parsed body")
|
||||
require.Equal(t, "Google Frontend", resp.Header.Get("Server"), "could not get correct headers")
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user