From febce4f2e3a86da4171783fcc593b25a807c3da8 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Sat, 25 Aug 2018 11:53:14 -0700 Subject: Split integration tests into multiple files --- tests/tests.go | 68 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 tests/tests.go (limited to 'tests/tests.go') diff --git a/tests/tests.go b/tests/tests.go new file mode 100644 index 0000000..8183327 --- /dev/null +++ b/tests/tests.go @@ -0,0 +1,68 @@ +// Copyright 2018 Frédéric Guillot. All rights reserved. +// Use of this source code is governed by the Apache 2.0 +// license that can be found in the LICENSE file. + +package tests + +import ( + "math/rand" + "strconv" + "strings" + "testing" + "time" + + miniflux "miniflux.app/client" +) + +const ( + testBaseURL = "http://127.0.0.1:8080/" + testAdminUsername = "admin" + testAdminPassword = "test123" + testStandardPassword = "secret" + testFeedURL = "https://github.com/miniflux/miniflux/commits/master.atom" + testFeedTitle = "Recent Commits to miniflux:master" + testWebsiteURL = "https://github.com/miniflux/miniflux/commits/master" +) + +func getRandomUsername() string { + rand.Seed(time.Now().UnixNano()) + var suffix []string + for i := 0; i < 10; i++ { + suffix = append(suffix, strconv.Itoa(rand.Intn(1000))) + } + return "user" + strings.Join(suffix, "") +} + +func createClient(t *testing.T) *miniflux.Client { + username := getRandomUsername() + client := miniflux.New(testBaseURL, testAdminUsername, testAdminPassword) + _, err := client.CreateUser(username, testStandardPassword, false) + if err != nil { + t.Fatal(err) + } + + return miniflux.New(testBaseURL, username, testStandardPassword) +} + +func createFeed(t *testing.T, client *miniflux.Client) (*miniflux.Feed, *miniflux.Category) { + categories, err := client.Categories() + if err != nil { + t.Fatal(err) + } + + feedID, err := client.CreateFeed(testFeedURL, categories[0].ID) + if err != nil { + t.Fatal(err) + } + + if feedID == 0 { + t.Fatalf(`Invalid feed ID, got %q`, feedID) + } + + feed, err := client.Feed(feedID) + if err != nil { + t.Fatal(err) + } + + return feed, categories[0] +} -- cgit v1.2.3