mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-12 02:21:29 +08:00
59 lines
1.5 KiB
Go
59 lines
1.5 KiB
Go
package httpboomer
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestBuildURL(t *testing.T) {
|
|
var url string
|
|
url = buildURL("https://postman-echo.com", "/get")
|
|
if url != "https://postman-echo.com/get" {
|
|
t.Fatalf("buildURL error, %s != 'https://postman-echo.com/get'", url)
|
|
}
|
|
|
|
url = buildURL("https://postman-echo.com/abc/", "/get?a=1&b=2")
|
|
if url != "https://postman-echo.com/get?a=1&b=2" {
|
|
t.Fatalf("buildURL error, %s != 'https://postman-echo.com/get'", url)
|
|
}
|
|
|
|
url = buildURL("", "https://postman-echo.com/get")
|
|
if url != "https://postman-echo.com/get" {
|
|
t.Fatalf("buildURL error, %s != 'https://postman-echo.com/get'", url)
|
|
}
|
|
|
|
// notice: step request url > config base url
|
|
url = buildURL("https://postman-echo.com", "https://httpbin.org/get")
|
|
if url != "https://httpbin.org/get" {
|
|
t.Fatalf("buildURL error, %s != 'https://httpbin.org/get'", url)
|
|
}
|
|
}
|
|
|
|
func TestParseDataStringWithVariables(t *testing.T) {
|
|
variablesMapping := map[string]interface{}{
|
|
"var_1": "abc",
|
|
"var_2": "def",
|
|
"var_3": 123,
|
|
"var_4": map[string]interface{}{"a": 1},
|
|
"var_5": true,
|
|
"var_6": nil,
|
|
}
|
|
|
|
if !assert.Equal(t, "abc", parseData("$var_1", variablesMapping)) {
|
|
t.Fail()
|
|
}
|
|
if !assert.Equal(t, "abc", parseData("${var_1}", variablesMapping)) {
|
|
t.Fail()
|
|
}
|
|
if !assert.Equal(t, "var_1", parseData("var_1", variablesMapping)) {
|
|
t.Fail()
|
|
}
|
|
if !assert.Equal(t, "abc#XYZ", parseData("$var_1#XYZ", variablesMapping)) {
|
|
t.Fail()
|
|
}
|
|
if !assert.Equal(t, "abc#XYZ", parseData("${var_1}#XYZ", variablesMapping)) {
|
|
t.Fail()
|
|
}
|
|
}
|