blob: e6680cc20b3ebd8458491e1ba9838ee413b90439 [file] [log] [blame]
package rietveld
import (
"fmt"
"testing"
"time"
assert "github.com/stretchr/testify/require"
"go.skia.org/infra/go/testutils"
)
// Basic test to make sure we can retrieve issues from Rietveld.
// Note: Below test is disabled because it expects 5 issues to be modified in
// the last hour. This is not always true.
func SKIP_TestRietveld(t *testing.T) {
testutils.LargeTest(t)
testutils.SkipIfShort(t)
api := New("https://codereview.chromium.org", nil)
t_delta := time.Now().Add(-10 * 24 * time.Hour)
issues, err := api.Search(1, SearchModifiedAfter(t_delta))
assert.NoError(t, err)
assert.True(t, len(issues) > 0)
for _, issue := range issues {
assert.True(t, issue.Modified.After(t_delta))
details, err := api.GetIssueProperties(issue.Issue, false)
assert.NoError(t, err)
assert.True(t, details.Modified.After(t_delta))
assert.True(t, len(details.Patchsets) > 0)
}
keys, err := api.SearchKeys(5, SearchModifiedAfter(time.Now().Add(-time.Hour)))
assert.NoError(t, err)
assert.Equal(t, 5, len(keys))
}
func TestUrlAndExtractIssue(t *testing.T) {
testutils.SmallTest(t)
api := New(RIETVELD_SKIA_URL, nil)
assert.Equal(t, RIETVELD_SKIA_URL, api.Url(0))
url1 := api.Url(1234)
assert.Equal(t, fmt.Sprintf("%s/%d", RIETVELD_SKIA_URL, 1234), url1)
found, ok := api.ExtractIssue(url1)
assert.True(t, ok)
assert.Equal(t, "1234", found)
found, ok = api.ExtractIssue(fmt.Sprintf("%s/c/%d", RIETVELD_SKIA_URL, 1234))
assert.Equal(t, "", found)
assert.False(t, ok)
found, ok = api.ExtractIssue("random string")
assert.Equal(t, "", found)
assert.False(t, ok)
}