summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--model/post.go23
-rw-r--r--model/post_test.go44
2 files changed, 61 insertions, 6 deletions
diff --git a/model/post.go b/model/post.go
index bec31aea7..635493c9d 100644
--- a/model/post.go
+++ b/model/post.go
@@ -352,6 +352,29 @@ func (r *PostActionIntegrationRequest) ToJson() string {
return string(b)
}
+func PostActionIntegrationRequesteFromJson(data io.Reader) *PostActionIntegrationRequest {
+ var o *PostActionIntegrationRequest
+ err := json.NewDecoder(data).Decode(&o)
+ if err != nil {
+ return nil
+ }
+ return o
+}
+
+func (r *PostActionIntegrationResponse) ToJson() string {
+ b, _ := json.Marshal(r)
+ return string(b)
+}
+
+func PostActionIntegrationResponseFromJson(data io.Reader) *PostActionIntegrationResponse {
+ var o *PostActionIntegrationResponse
+ err := json.NewDecoder(data).Decode(&o)
+ if err != nil {
+ return nil
+ }
+ return o
+}
+
func (o *Post) Attachments() []*SlackAttachment {
if attachments, ok := o.Props["attachments"].([]*SlackAttachment); ok {
return attachments
diff --git a/model/post_test.go b/model/post_test.go
index af350d76e..b15134c89 100644
--- a/model/post_test.go
+++ b/model/post_test.go
@@ -11,14 +11,46 @@ import (
"github.com/stretchr/testify/assert"
)
-func TestPostJson(t *testing.T) {
+func TestPostToJson(t *testing.T) {
o := Post{Id: NewId(), Message: NewId()}
- json := o.ToJson()
- ro := PostFromJson(strings.NewReader(json))
+ j := o.ToJson()
+ ro := PostFromJson(strings.NewReader(j))
- if o.Id != ro.Id {
- t.Fatal("Ids do not match")
- }
+ assert.NotNil(t, ro)
+ assert.Equal(t, o, *ro)
+}
+
+func TestPostFromJsonError(t *testing.T) {
+ ro := PostFromJson(strings.NewReader(""))
+ assert.Nil(t, ro)
+}
+
+func TestPostActionIntegrationRequestToJson(t *testing.T) {
+ o := PostActionIntegrationRequest{UserId: NewId(), Context: StringInterface{"a": "abc"}}
+ j := o.ToJson()
+ ro := PostActionIntegrationRequesteFromJson(strings.NewReader(j))
+
+ assert.NotNil(t, ro)
+ assert.Equal(t, o, *ro)
+}
+
+func TestPostActionIntegrationRequestFromJsonError(t *testing.T) {
+ ro := PostActionIntegrationRequesteFromJson(strings.NewReader(""))
+ assert.Nil(t, ro)
+}
+
+func TestPostActionIntegrationResponseToJson(t *testing.T) {
+ o := PostActionIntegrationResponse{Update: &Post{Id: NewId(), Message: NewId()}, EphemeralText: NewId()}
+ j := o.ToJson()
+ ro := PostActionIntegrationResponseFromJson(strings.NewReader(j))
+
+ assert.NotNil(t, ro)
+ assert.Equal(t, o, *ro)
+}
+
+func TestPostActionIntegrationResponseFromJsonError(t *testing.T) {
+ ro := PostActionIntegrationResponseFromJson(strings.NewReader(""))
+ assert.Nil(t, ro)
}
func TestPostIsValid(t *testing.T) {