From b8e9f320eb55c4720c285110eb66c92f03331c97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BE=90=E8=81=AA?= Date: Tue, 4 Jan 2022 14:24:19 +0800 Subject: [PATCH] feat: data-driven. --- parser_test.go | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-) diff --git a/parser_test.go b/parser_test.go index a8d4bdea..b66c5f79 100644 --- a/parser_test.go +++ b/parser_test.go @@ -621,44 +621,39 @@ func TestFindallVariables(t *testing.T) { func TestParseParameters(t *testing.T) { testData := []struct { - rawVars map[string]interface{} - expectVars []map[string]interface{} + rawVars map[string]interface{} + expectLength int }{ { map[string]interface{}{ "username-password": "${parameterize(examples/account.csv)}", "user_agent": []interface{}{"IOS/10.1", "IOS/10.2"}}, - []map[string]interface{}{ - {"username": "test1", "password": "111111", "user_agent": "IOS/10.1"}, - {"username": "test1", "password": "111111", "user_agent": "IOS/10.2"}, - {"username": "test2", "password": "222222", "user_agent": "IOS/10.1"}, - {"username": "test2", "password": "222222", "user_agent": "IOS/10.2"}, - {"username": "test3", "password": "333333", "user_agent": "IOS/10.1"}, - {"username": "test3", "password": "333333", "user_agent": "IOS/10.2"}}, + 6, }, { map[string]interface{}{ "username-password": [][]interface{}{{"test1", "111111"}, {"test2", "222222"}, {"test3", "333333"}}, "user_agent": []interface{}{"IOS/10.1", "IOS/10.2"}, "app_version": []interface{}{0.3}}, - []map[string]interface{}{ - {"username": "test1", "password": "111111", "user_agent": "IOS/10.1", "app_version": 0.3}, - {"username": "test1", "password": "111111", "user_agent": "IOS/10.2", "app_version": 0.3}, - {"username": "test2", "password": "222222", "user_agent": "IOS/10.1", "app_version": 0.3}, - {"username": "test2", "password": "222222", "user_agent": "IOS/10.2", "app_version": 0.3}, - {"username": "test3", "password": "333333", "user_agent": "IOS/10.1", "app_version": 0.3}, - {"username": "test3", "password": "333333", "user_agent": "IOS/10.2", "app_version": 0.3}}, + 6, }, { - map[string]interface{}{}, nil, + map[string]interface{}{ + "username-password": [][]interface{}{{"test1", "111111"}, {"test2", "222222"}, {"test3", "333333"}}, + "user_agent": []interface{}{"IOS/10.1", "IOS/10.2"}, + "app_version": []interface{}{0.3, 0.4, 0.5}}, + 18, }, { - nil, nil, + map[string]interface{}{}, 0, + }, + { + nil, 0, }, } for _, data := range testData { value, _ := parseParameters(data.rawVars, map[string]interface{}{}) - if !assert.Equal(t, data.expectVars, value) { + if !assert.Len(t, value, data.expectLength) { t.Fail() } }