github.com/web-platform-tests/wpt.fyi@v0.0.0-20240530210107-70cf978996f1/api/checks/suites_medium_test.go (about)

     1  //go:build medium
     2  // +build medium
     3  
     4  // Copyright 2018 The WPT Dashboard Project. All rights reserved.
     5  // Use of this source code is governed by a BSD-style license that can be
     6  // found in the LICENSE file.
     7  package checks
     8  
     9  import (
    10  	"strings"
    11  	"testing"
    12  
    13  	"github.com/stretchr/testify/assert"
    14  	"github.com/web-platform-tests/wpt.fyi/shared"
    15  	"github.com/web-platform-tests/wpt.fyi/shared/sharedtest"
    16  )
    17  
    18  func TestGetOrCreateCheckSuite(t *testing.T) {
    19  	ctx, done, err := sharedtest.NewAEContext(true)
    20  	assert.Nil(t, err)
    21  	defer done()
    22  
    23  	sha := strings.Repeat("abcdef012345", 4)
    24  	suite, err := getOrCreateCheckSuite(ctx, sha, "owner", "repo", 123, 456)
    25  	assert.Nil(t, err)
    26  	assert.NotNil(t, suite)
    27  
    28  	suite2, err := getOrCreateCheckSuite(ctx, sha, "owner", "repo", 123, 456)
    29  	assert.Nil(t, err)
    30  	assert.NotNil(t, suite2)
    31  	assert.Equal(t, *suite, *suite2)
    32  	suites := []shared.CheckSuite{}
    33  	store := shared.NewAppEngineDatastore(ctx, false)
    34  	store.GetAll(store.NewQuery("CheckSuite"), &suites)
    35  	assert.Len(t, suites, 1)
    36  }