Search in sources :

Example 1 with DirectoryCacheProviderImpl

use of jetbrains.buildServer.artifacts.impl.DirectoryCacheProviderImpl in project teamcity-torrent-plugin by JetBrains.

the class TorrentArtifactCacheListenerSecondTest method setUp.

@BeforeMethod
@Override
protected void setUp() throws Exception {
    super.setUp();
    myAgentDirectory = createTempDir();
    myM = new Mockery();
    final AgentRunningBuild build = myM.mock(AgentRunningBuild.class);
    final BuildProgressLogger logger = new FakeBuildProgressLogger();
    myBuildTracker = myM.mock(CurrentBuildTracker.class);
    myCacheProvider = myM.mock(ArtifactCacheProvider.class);
    myAgentConfiguration = myM.mock(BuildAgentConfiguration.class);
    final LeechSettings leechSettings = myM.mock(LeechSettings.class);
    final SeedSettings seedingSettings = myM.mock(SeedSettings.class);
    myM.checking(new Expectations() {

        {
            allowing(myBuildTracker).getCurrentBuild();
            will(returnValue(build));
            allowing(build).getBuildLogger();
            will(returnValue(logger));
            allowing(build).getAgentConfiguration();
            will(returnValue(myAgentConfiguration));
            allowing(build).getBuildTempDirectory();
            will(returnValue(new File(myAgentDirectory, "temp")));
            allowing(myAgentConfiguration).getSystemDirectory();
            will(returnValue(new File(myAgentDirectory, "system")));
            allowing(myAgentConfiguration).getCacheDirectory(with(Constants.TORRENTS_DIRNAME));
            will(returnValue(new File(myAgentDirectory, "torrents")));
            allowing(myAgentConfiguration).getServerUrl();
            will(returnValue("http://localhost:6969/bs"));
            allowing(build).getBuildTypeExternalId();
            will(returnValue(BUILD_EXTERNAL_ID));
            allowing(build).getBuildId();
            will(returnValue(BUILD_ID));
            allowing(myCacheProvider).addListener(with(any(ArtifactsCacheListener.class)));
            allowing(leechSettings).isDownloadEnabled();
            will(returnValue(true));
            allowing(seedingSettings).isSeedingEnabled();
            will(returnValue(true));
        }
    });
    final TorrentConfiguration configuration = new FakeTorrentConfiguration();
    myArtifactsWatcher = myM.mock(ArtifactsWatcher.class);
    AgentTorrentsSeeder seeder = new AgentTorrentsSeeder(myAgentConfiguration, configuration);
    TorrentFilesFactoryImpl torrentsFactory = new TorrentFilesFactoryImpl(myAgentConfiguration, configuration, new FakeAgentIdleTasks(), seeder);
    final EventDispatcher<AgentLifeCycleListener> eventDispatcher = EventDispatcher.create(AgentLifeCycleListener.class);
    AgentTorrentsManager manager = new AgentTorrentsManager(eventDispatcher, myCacheProvider, myBuildTracker, configuration, seeder, torrentsFactory, myArtifactsWatcher, new TorrentsDownloadStatistic(), leechSettings, myAgentConfiguration, seedingSettings);
    myCacheListener = new TorrentArtifactCacheListener(seeder.getTorrentsSeeder(), myBuildTracker, configuration, manager, torrentsFactory, myArtifactsWatcher, myAgentConfiguration);
    myCacheListener.onCacheInitialized(new DirectoryCacheProviderImpl(new File(myAgentDirectory, "cache"), new SimpleDigestCalculator()));
    manager.checkReady();
}
Also used : Mockery(org.jmock.Mockery) LeechSettings(jetbrains.buildServer.torrent.settings.LeechSettings) TorrentsDownloadStatistic(jetbrains.buildServer.torrent.util.TorrentsDownloadStatistic) ArtifactCacheProvider(jetbrains.buildServer.artifacts.ArtifactCacheProvider) Expectations(org.jmock.Expectations) ArtifactsCacheListener(jetbrains.buildServer.artifacts.ArtifactsCacheListener) ArtifactsWatcher(jetbrains.buildServer.agent.artifacts.ArtifactsWatcher) SeedSettings(jetbrains.buildServer.torrent.settings.SeedSettings) SimpleDigestCalculator(jetbrains.buildServer.artifacts.impl.SimpleDigestCalculator) DirectoryCacheProviderImpl(jetbrains.buildServer.artifacts.impl.DirectoryCacheProviderImpl) File(java.io.File) BeforeMethod(org.testng.annotations.BeforeMethod)

Example 2 with DirectoryCacheProviderImpl

use of jetbrains.buildServer.artifacts.impl.DirectoryCacheProviderImpl in project teamcity-torrent-plugin by JetBrains.

the class TorrentArtifactCacheListenerTest method setUp.

@BeforeMethod
@Override
protected void setUp() throws Exception {
    super.setUp();
    myTracker = new Tracker(6969);
    myTracker.start(false);
    myAgentConfiguration = myAgentConfigurationFixture.setUp();
    Mockery m = new Mockery();
    final AgentRunningBuild build = m.mock(AgentRunningBuild.class);
    final BuildProgressLogger logger = new FakeBuildProgressLogger();
    final CurrentBuildTracker buildTracker = m.mock(CurrentBuildTracker.class);
    final ArtifactCacheProvider cacheProvider = m.mock(ArtifactCacheProvider.class);
    final LeechSettings leechSettings = m.mock(LeechSettings.class);
    final SeedSettings seedingSettings = m.mock(SeedSettings.class);
    m.checking(new Expectations() {

        {
            allowing(buildTracker).getCurrentBuild();
            will(returnValue(build));
            allowing(build).getBuildLogger();
            will(returnValue(logger));
            allowing(build).getAgentConfiguration();
            will(returnValue(myAgentConfiguration));
            allowing(cacheProvider).addListener(with(any(ArtifactsCacheListener.class)));
            allowing(build).getBuildTypeExternalId();
            will(returnValue("1"));
            allowing(build).getBuildId();
            will(returnValue(1L));
            allowing(leechSettings).isDownloadEnabled();
            will(returnValue(true));
            allowing(seedingSettings).isSeedingEnabled();
            will(returnValue(true));
        }
    });
    final TorrentConfiguration configuration = new FakeTorrentConfiguration();
    final ArtifactsWatcher artifactsWatcher = m.mock(ArtifactsWatcher.class);
    mySeeder = new AgentTorrentsSeeder(myAgentConfiguration, configuration);
    TorrentFilesFactoryImpl torrentsFactory = new TorrentFilesFactoryImpl(myAgentConfiguration, configuration, new FakeAgentIdleTasks(), mySeeder);
    final EventDispatcher<AgentLifeCycleListener> eventDispatcher = EventDispatcher.create(AgentLifeCycleListener.class);
    AgentTorrentsManager manager = new AgentTorrentsManager(eventDispatcher, cacheProvider, buildTracker, configuration, mySeeder, torrentsFactory, artifactsWatcher, new TorrentsDownloadStatistic(), leechSettings, myAgentConfiguration, seedingSettings);
    myCacheListener = new TorrentArtifactCacheListener(mySeeder.getTorrentsSeeder(), buildTracker, configuration, manager, torrentsFactory, artifactsWatcher, myAgentConfiguration);
    myCacheListener.onCacheInitialized(new DirectoryCacheProviderImpl(getTorrentsDirectory(), new SimpleDigestCalculator()));
    manager.checkReady();
}
Also used : Expectations(org.jmock.Expectations) ArtifactsCacheListener(jetbrains.buildServer.artifacts.ArtifactsCacheListener) Tracker(com.turn.ttorrent.tracker.Tracker) ArtifactsWatcher(jetbrains.buildServer.agent.artifacts.ArtifactsWatcher) Mockery(org.jmock.Mockery) SeedSettings(jetbrains.buildServer.torrent.settings.SeedSettings) SimpleDigestCalculator(jetbrains.buildServer.artifacts.impl.SimpleDigestCalculator) LeechSettings(jetbrains.buildServer.torrent.settings.LeechSettings) DirectoryCacheProviderImpl(jetbrains.buildServer.artifacts.impl.DirectoryCacheProviderImpl) TorrentsDownloadStatistic(jetbrains.buildServer.torrent.util.TorrentsDownloadStatistic) ArtifactCacheProvider(jetbrains.buildServer.artifacts.ArtifactCacheProvider) BeforeMethod(org.testng.annotations.BeforeMethod)

Aggregations

ArtifactsWatcher (jetbrains.buildServer.agent.artifacts.ArtifactsWatcher)2 ArtifactCacheProvider (jetbrains.buildServer.artifacts.ArtifactCacheProvider)2 ArtifactsCacheListener (jetbrains.buildServer.artifacts.ArtifactsCacheListener)2 DirectoryCacheProviderImpl (jetbrains.buildServer.artifacts.impl.DirectoryCacheProviderImpl)2 SimpleDigestCalculator (jetbrains.buildServer.artifacts.impl.SimpleDigestCalculator)2 LeechSettings (jetbrains.buildServer.torrent.settings.LeechSettings)2 SeedSettings (jetbrains.buildServer.torrent.settings.SeedSettings)2 TorrentsDownloadStatistic (jetbrains.buildServer.torrent.util.TorrentsDownloadStatistic)2 Expectations (org.jmock.Expectations)2 Mockery (org.jmock.Mockery)2 BeforeMethod (org.testng.annotations.BeforeMethod)2 Tracker (com.turn.ttorrent.tracker.Tracker)1 File (java.io.File)1