hunk.code_window: 				},
   			},
   		},
   		"AtUserWithPeriodAtEndOfSentence": {
   			Message:  "this is a message for @user.period.",
   			Keywords: map[string][]string{"@user.period": {id1}},
  
hunk.labels: keep keep add keep keep keep
hunk.after_edit: 		"AtUserWithColonAtEnd": {
   			Message:  "this is a message for @user:",
   			Keywords: map[string][]string{"@user": {id1}},
   			Expected: &ExplicitMentions{
   				MentionedUserIds: map[string]bool{
   					id1: true,
   				},
   			},
   		},
  
hunk.file_path: app/notification_test.go
hunk.type: add
file: // Copyright (c) 2016-present Mattermost, Inc. All Rights Reserved.
  // See License.txt for license information.
  
  package model
  
  import (
  	"encoding/json"
  	"io"
  )
  
  type UserAccessTokenSearch struct {
  	Term string `json:"term"`
  }
  
  // ToJson convert a UserAccessTokenSearch to json string
  func (c *UserAccessTokenSearch) ToJson() string {
  	b, err := json.Marshal(c)
  	if err != nil {
  		return ""
  	}
  
  	return string(b)
  }
  
  // UserAccessTokenSearchJson decodes the input and returns a UserAccessTokenSearch
  func UserAccessTokenSearchFromJson(data io.Reader) *UserAccessTokenSearch {
  	decoder := json.NewDecoder(data)
  	var cs UserAccessTokenSearch
  	err := decoder.Decode(&cs)
  	if err == nil {
  		return &cs
  	}
  
  	return nil
  }
  