You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.7 KiB
61 lines
1.7 KiB
package responses |
|
|
|
import ( |
|
"bytes" |
|
"github.com/stretchr/testify/assert" |
|
"testing" |
|
) |
|
|
|
var errorData = `<?xml version="1.0" encoding="ISO-8859-1"?> |
|
<error> |
|
<code>3</code> |
|
<message>API key is not valid</message> |
|
</error> |
|
` |
|
var invalidErrorData = `<?xml version="1.0" encoding="ISO-fdsfsdf-1"?> |
|
<error> |
|
<code>3</code> |
|
<message>API key is not valid</message> |
|
</error> |
|
` |
|
|
|
var successData = `<?xml version="1.0" encoding="ISO-8859-1"?> |
|
<success> |
|
<stats> |
|
<file status="skipped" name="demo.ini"></file> |
|
</stats> |
|
</success>` |
|
var invalidSuccessData = `<?xml version="1.0" encoding="ISO-sefsgdfb-1"?> |
|
<success> |
|
<stats> |
|
<file status="skipped" name="demo.ini"></file> |
|
</stats> |
|
</success>` |
|
|
|
func TestParseAsError(t *testing.T) { |
|
result, err := ParseAsError(bytes.NewBufferString(errorData)) |
|
assert.NoError(t, err) |
|
assert.Equal(t, 3, result.Code, "error code") |
|
assert.Equal(t, "API key is not valid", result.Message, "error message") |
|
|
|
_, err = ParseAsSuccess(bytes.NewBufferString(invalidErrorData)) |
|
assert.Error(t, err) |
|
} |
|
|
|
func TestError_Error(t *testing.T) { |
|
result, err := ParseAsError(bytes.NewBufferString(errorData)) |
|
assert.NoError(t, err) |
|
assert.Error(t, result) |
|
assert.Equal(t, result.Error(), "Error from crowdin: API key is not valid (error code 3)", "error message") |
|
} |
|
|
|
func TestParseAsSuccess(t *testing.T) { |
|
result, err := ParseAsSuccess(bytes.NewBufferString(successData)) |
|
assert.NoError(t, err) |
|
assert.Len(t, result.Stats, 1, "files") |
|
assert.Equal(t, result.Stats[0].Status, "skipped", "status of first file") |
|
assert.Equal(t, result.Stats[0].Name, "demo.ini", "name of first file") |
|
|
|
_, err = ParseAsError(bytes.NewBufferString(invalidSuccessData)) |
|
assert.Error(t, err) |
|
}
|
|
|