Skip to content

Commit

Permalink
[v0.6.9] fix int case in parameters unmarshalling
Browse files Browse the repository at this point in the history
  • Loading branch information
koodeex committed Jul 12, 2023
1 parent 533105c commit c7c0499
Show file tree
Hide file tree
Showing 6 changed files with 918 additions and 24 deletions.
2 changes: 1 addition & 1 deletion go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ replace (

require (
github.com/jackc/fake v0.0.0-20150926172116-812a484cc733
github.com/ozontech/allure-go/pkg/allure v0.6.8
github.com/ozontech/allure-go/pkg/allure v0.6.9
github.com/ozontech/allure-go/pkg/framework v0.6.23
)

Expand Down
11 changes: 8 additions & 3 deletions pkg/allure/parameter.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package allure

import (
"encoding/json"
"fmt"
"strings"
)
Expand All @@ -9,8 +10,8 @@ import (
// which Allure uses as additional information describing the test Step
// (for example - request host or server address)
type Parameter struct {
Name string `json:"name"`
Value string `json:"value"`
Name string `json:"name"`
Value json.RawMessage `json:"value"`
}

// NewParameter Constructor. Builds and returns a new `Parameter` object,
Expand All @@ -19,7 +20,7 @@ func NewParameter(name string, value ...interface{}) *Parameter {
val := trimBrackets(messageFromMsgAndArgs(value))
return &Parameter{
Name: name,
Value: val,
Value: []byte("\"" + val + "\""),
}
}

Expand All @@ -39,6 +40,10 @@ func NewParameters(kv ...interface{}) []*Parameter {
return result
}

func (p *Parameter) GetValue() string {
return strings.Trim(string(p.Value), "\"")
}

func trimBrackets(val string) string {
if strings.HasSuffix(val, "]") && strings.HasPrefix(val, "[") {
return strings.TrimSuffix(strings.TrimPrefix(val, "["), "]")
Expand Down
18 changes: 8 additions & 10 deletions pkg/allure/parameter_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,12 @@ import (
)

func TestNewParameter(t *testing.T) {
const (
paramName = "paramName"
paramValue = "paramValue"
)
const paramName = "paramName"
var paramValue = "paramValue"
param := NewParameter(paramName, paramValue)
require.NotNil(t, param)
require.Equal(t, paramName, param.Name)
require.Equal(t, paramValue, param.Value)
require.Equal(t, string(paramValue), param.GetValue())
}

func TestNewParameters_even(t *testing.T) {
Expand All @@ -23,11 +21,11 @@ func TestNewParameters_even(t *testing.T) {
require.Len(t, params, 3)

require.Equal(t, "p1", params[0].Name)
require.Equal(t, "v1", params[0].Value)
require.Equal(t, "v1", params[0].GetValue())
require.Equal(t, "p2", params[1].Name)
require.Equal(t, "v2", params[1].Value)
require.Equal(t, "v2", params[1].GetValue())
require.Equal(t, "p3", params[2].Name)
require.Equal(t, "v3", params[2].Value)
require.Equal(t, "v3", params[2].GetValue())
}

func TestNewParameters_odd(t *testing.T) {
Expand All @@ -36,7 +34,7 @@ func TestNewParameters_odd(t *testing.T) {
require.Len(t, params, 2)

require.Equal(t, "p1", params[0].Name)
require.Equal(t, "v1", params[0].Value)
require.Equal(t, "v1", params[0].GetValue())
require.Equal(t, "p2", params[1].Name)
require.Equal(t, "v2", params[1].Value)
require.Equal(t, "v2", params[1].GetValue())
}
Loading

0 comments on commit c7c0499

Please sign in to comment.