kraken

Форк
0
53 строки · 1.6 Кб
1
// Copyright (c) 2016-2019 Uber Technologies, Inc.
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//     http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14
package agentstorage
15

16
import (
17
	"github.com/uber/kraken/core"
18
	"github.com/uber/kraken/lib/store"
19
	"github.com/uber/kraken/tracker/metainfoclient"
20
	"github.com/uber/kraken/utils/testutil"
21
	"github.com/uber-go/tally"
22
)
23

24
// TorrentArchiveFixture returns a TorrrentArchive for testing purposes.
25
func TorrentArchiveFixture() (*TorrentArchive, func()) {
26
	cads, cleanup := store.CADownloadStoreFixture()
27
	archive := NewTorrentArchive(tally.NoopScope, cads, nil)
28
	return archive, cleanup
29
}
30

31
// TorrentFixture returns a Torrent for the given metainfo for testing purposes.
32
func TorrentFixture(mi *core.MetaInfo) (*Torrent, func()) {
33
	var cleanup testutil.Cleanup
34
	defer cleanup.Recover()
35

36
	cads, c := store.CADownloadStoreFixture()
37
	cleanup.Add(c)
38

39
	tc := metainfoclient.NewTestClient()
40

41
	ta := NewTorrentArchive(tally.NoopScope, cads, tc)
42

43
	if err := tc.Upload(mi); err != nil {
44
		panic(err)
45
	}
46

47
	t, err := ta.CreateTorrent("noexist", mi.Digest())
48
	if err != nil {
49
		panic(err)
50
	}
51

52
	return t.(*Torrent), cleanup.Run
53
}
54

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.