hunk.code_window:             <ReactionListView
                   post={this.props.post}
                   currentUserId={this.props.currentUserId}
                   reactions={this.state.reactions}
               />
           );
       }
   }
hunk.labels: keep keep keep add keep keep keep keep
hunk.after_edit:                 emojis={this.state.emojis}
  
hunk.file_path: webapp/components/post_view/components/reaction_list_container.jsx
hunk.type: add
file: package cloudfront
  
  import (
  	"crypto/x509"
  	"encoding/pem"
  	"io/ioutil"
  	"net/url"
  	"testing"
  	"time"
  )
  
  func TestSignedCannedURL(t *testing.T) {
  	rawKey, err := ioutil.ReadFile("testdata/key.pem")
  	if err != nil {
  		t.Fatal(err)
  	}
  
  	pemKey, _ := pem.Decode(rawKey)
  	privateKey, err := x509.ParsePKCS1PrivateKey(pemKey.Bytes)
  	if err != nil {
  		t.Fatal(err)
  	}
  
  	cf := &CloudFront{
  		key:       privateKey,
  		keyPairId: "test-key-pair-1231245",
  		BaseURL:   "https://cloudfront.com",
  	}
  
  	expireTime, err := time.Parse(time.RFC3339, "2014-03-28T14:00:21Z")
  	if err != nil {
  		t.Fatal(err)
  	}
  
  	query := make(url.Values)
  	query.Add("test", "value")
  
  	uri, err := cf.CannedSignedURL("test", "test=value", expireTime)
  	if err != nil {
  		t.Fatal(err)
  	}
  
  	parsed, err := url.Parse(uri)
  	if err != nil {
  		t.Fatal(err)
  	}
  
  	signature := parsed.Query().Get("Signature")
  	if signature == "" {
  		t.Fatal("Encoded signature is empty")
  	}
  }
  