rss2twitter/app/rss/notify_test.go
2019-01-09 01:51:55 -06:00

48 rindas
1,1 KiB
Go
Neapstrādāts Vainot Vēsture

Šis fails satur neviennozīmīgus unikoda simbolus

Šis fails satur unikoda simbolus, kas var tikt sajauktas ar citām rakstzīmēm. Ja šķiet, ka tas ir ar nolūku, šo brīdinājumu var droši neņemt vērā. Jāizmanto atsoļa taustiņš (Esc), lai atklātu tās.

package rss
import (
"context"
"fmt"
"io/ioutil"
"net/http"
"net/http/httptest"
"sync/atomic"
"testing"
"time"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
)
func TestNotify(t *testing.T) {
var n int32
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
fnum := atomic.AddInt32(&n, int32(1))
if fnum > 2 {
fnum = 2
}
data, err := ioutil.ReadFile(fmt.Sprintf("testdata/f%d.xml", fnum))
require.NoError(t, err)
w.WriteHeader(200)
w.Write(data)
}))
defer ts.Close()
notify := Notify{Feed: ts.URL, Duration: time.Millisecond * 250, Timeout: time.Millisecond * 100}
ch := notify.Go(context.Background())
defer notify.Shutdown()
st := time.Now()
e := <-ch
t.Logf("%+v", e)
e.Text = ""
assert.Equal(t, Event{ChanTitle: "Радио-Т", Title: "Радио-Т 626",
Link: "https://radio-t.com/p/2018/12/01/podcast-626/", GUID: "https://radio-t.com/p/2018/12/01//podcast-626/"}, e)
assert.True(t, time.Since(st) >= time.Millisecond*250)
select {
case <-ch:
t.Fatal("should not get any more")
default:
}
}