code.gitea.io/gitea@v1.22.3/tests/integration/api_repo_languages_test.go (about) 1 // Copyright 2020 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package integration 5 6 import ( 7 "net/http" 8 "net/url" 9 "testing" 10 "time" 11 12 "github.com/stretchr/testify/assert" 13 ) 14 15 func TestRepoLanguages(t *testing.T) { 16 onGiteaRun(t, func(t *testing.T, u *url.URL) { 17 session := loginUser(t, "user2") 18 19 // Request editor page 20 req := NewRequest(t, "GET", "/user2/repo1/_new/master/") 21 resp := session.MakeRequest(t, req, http.StatusOK) 22 23 doc := NewHTMLParser(t, resp.Body) 24 lastCommit := doc.GetInputValueByName("last_commit") 25 assert.NotEmpty(t, lastCommit) 26 27 // Save new file to master branch 28 req = NewRequestWithValues(t, "POST", "/user2/repo1/_new/master/", map[string]string{ 29 "_csrf": doc.GetCSRF(), 30 "last_commit": lastCommit, 31 "tree_path": "test.go", 32 "content": "package main", 33 "commit_choice": "direct", 34 }) 35 session.MakeRequest(t, req, http.StatusSeeOther) 36 37 // let gitea calculate language stats 38 time.Sleep(time.Second) 39 40 // Save new file to master branch 41 req = NewRequest(t, "GET", "/api/v1/repos/user2/repo1/languages") 42 resp = MakeRequest(t, req, http.StatusOK) 43 44 var languages map[string]int64 45 DecodeJSON(t, resp, &languages) 46 47 assert.InDeltaMapValues(t, map[string]int64{"Go": 12}, languages, 0) 48 }) 49 }