mirror of https://github.com/Sonarr/Sonarr
Removed DM - Branched if required later.
This commit is contained in:
parent
4c85c8761f
commit
653a0864c3
|
@ -49,9 +49,6 @@ namespace NzbDrone.Common
|
|||
|
||||
public static Guid UGuid { get; set; }
|
||||
|
||||
|
||||
public static bool RegisterNewInstall { get; set; }
|
||||
|
||||
public virtual bool IsUserInteractive
|
||||
{
|
||||
get { return Environment.UserInteractive; }
|
||||
|
@ -102,7 +99,6 @@ namespace NzbDrone.Common
|
|||
return dir.GetDirectories(ROOT_MARKER).Length != 0;
|
||||
}
|
||||
|
||||
|
||||
public virtual string StartUpPath
|
||||
{
|
||||
get
|
||||
|
|
|
@ -101,13 +101,5 @@ namespace NzbDrone.Core.Test
|
|||
|
||||
first.Should().BeSameAs(second);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void app_should_be_marked_as_new_install_if_db_is_initilized_for_the_first_time()
|
||||
{
|
||||
WithRealDb();
|
||||
EnvironmentProvider.RegisterNewInstall.Should().Be(true);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -111,7 +111,6 @@
|
|||
<Compile Include="JobTests\BacklogSearchJobTest.cs" />
|
||||
<Compile Include="JobTests\BannerDownloadJobTest.cs" />
|
||||
<Compile Include="JobTests\RecentBacklogSearchJobTest.cs" />
|
||||
<Compile Include="ProviderTests\AnalyticsProviderTests\AnalyticsProviderFixture.cs" />
|
||||
<Compile Include="ProviderTests\ConfigProviderTests\ConfigCachingFixture.cs" />
|
||||
<Compile Include="ProviderTests\BannerProviderTest.cs" />
|
||||
<Compile Include="ProviderTests\Metadata\Xbmc_ForEpisodeFile_Fixture.cs" />
|
||||
|
|
|
@ -1,146 +0,0 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using DeskMetrics;
|
||||
using Moq;
|
||||
using NUnit.Framework;
|
||||
using NzbDrone.Common;
|
||||
using NzbDrone.Core.Providers;
|
||||
using NzbDrone.Core.Providers.Core;
|
||||
using NzbDrone.Core.Test.Framework;
|
||||
|
||||
namespace NzbDrone.Core.Test.ProviderTests.AnalyticsProviderTests
|
||||
{
|
||||
// ReSharper disable InconsistentNaming
|
||||
public class AnalyticsProviderFixture : CoreTest
|
||||
{
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.UpdateUrl).Returns(UpdateProvider.DEFAULT_UPDATE_URL);
|
||||
}
|
||||
|
||||
|
||||
private void WithStageClient()
|
||||
{
|
||||
Mocker.SetConstant(new DeskMetricsClient(Guid.NewGuid().ToString(), AnalyticsProvider.DESKMETRICS_TEST_ID, new Version(9, 9, 9)));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void checkpoint_should_stop_existing_start_then_start_again()
|
||||
{
|
||||
Mocker.GetMock<IDeskMetricsClient>().SetupGet(c => c.Started).Returns(true);
|
||||
var provider = Mocker.Resolve<AnalyticsProvider>();
|
||||
|
||||
provider.Checkpoint();
|
||||
|
||||
Mocker.GetMock<IDeskMetricsClient>().Verify(c => c.Start(), Times.Once());
|
||||
Mocker.GetMock<IDeskMetricsClient>().Verify(c => c.Stop(), Times.Once());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void checkpoint_should_not_stop_existing_if_not_started()
|
||||
{
|
||||
Mocker.GetMock<IDeskMetricsClient>().SetupGet(c => c.Started).Returns(false);
|
||||
var provider = Mocker.Resolve<AnalyticsProvider>();
|
||||
|
||||
provider.Checkpoint();
|
||||
|
||||
Mocker.GetMock<IDeskMetricsClient>().Verify(c => c.Start(), Times.Once());
|
||||
Mocker.GetMock<IDeskMetricsClient>().Verify(c => c.Stop(), Times.Never());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void new_install_should_be_registered()
|
||||
{
|
||||
EnvironmentProvider.RegisterNewInstall = true;
|
||||
|
||||
var provider = Mocker.Resolve<AnalyticsProvider>();
|
||||
|
||||
provider.Checkpoint();
|
||||
|
||||
Mocker.GetMock<IDeskMetricsClient>().Verify(c => c.RegisterInstall(), Times.Once());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void new_install_should_only_be_registered_on_first_call()
|
||||
{
|
||||
EnvironmentProvider.RegisterNewInstall = true;
|
||||
|
||||
var provider = Mocker.Resolve<AnalyticsProvider>();
|
||||
|
||||
provider.Checkpoint();
|
||||
provider.Checkpoint();
|
||||
provider.Checkpoint();
|
||||
|
||||
Mocker.GetMock<IDeskMetricsClient>().Verify(c => c.RegisterInstall(), Times.Once());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void upgrade_should_not_register_install()
|
||||
{
|
||||
EnvironmentProvider.RegisterNewInstall = false;
|
||||
|
||||
var provider = Mocker.Resolve<AnalyticsProvider>();
|
||||
|
||||
provider.Checkpoint();
|
||||
|
||||
Mocker.GetMock<IDeskMetricsClient>().Verify(c => c.RegisterInstall(), Times.Never());
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void shouldnt_register_anything_if_not_on_master_branch()
|
||||
{
|
||||
EnvironmentProvider.RegisterNewInstall = false;
|
||||
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.UpdateUrl).Returns("http://update.nzbdrone.com/master_auto/");
|
||||
|
||||
Mocker.GetMock<IDeskMetricsClient>(MockBehavior.Strict);
|
||||
|
||||
Mocker.Resolve<AnalyticsProvider>().Checkpoint();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void new_install_shouldnt_register_anything_if_not_on_master_branch()
|
||||
{
|
||||
EnvironmentProvider.RegisterNewInstall = true;
|
||||
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.UpdateUrl).Returns("http://update.nzbdrone.com/master_auto/");
|
||||
|
||||
Mocker.GetMock<IDeskMetricsClient>(MockBehavior.Strict);
|
||||
|
||||
Mocker.Resolve<AnalyticsProvider>().Checkpoint();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void should_be_able_to_call_deskmetrics_using_test_appid()
|
||||
{
|
||||
EnvironmentProvider.RegisterNewInstall = true;
|
||||
Mocker.Resolve<AnalyticsProvider>().Checkpoint();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[TestCase("http://update.nzbdrone.com/master/")]
|
||||
[TestCase("http://update.nzbdrone.com/master//")]
|
||||
[TestCase("http://update.nzbdrone.com/master")]
|
||||
[TestCase("http://update.nzbdrone.com/master ")]
|
||||
[TestCase("http://update.nzbdrone.com/master/ ")]
|
||||
[TestCase("http://UPDATE.nzbdrone.COM/master/ ")]
|
||||
public void should_still_work_if_url_is_slightly_diffrent(string url)
|
||||
{
|
||||
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.UpdateUrl).Returns(url);
|
||||
|
||||
var provider = Mocker.Resolve<AnalyticsProvider>();
|
||||
|
||||
provider.Checkpoint();
|
||||
|
||||
Mocker.GetMock<IDeskMetricsClient>().Verify(c => c.Start(), Times.Once());
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
|
@ -74,16 +74,6 @@ namespace NzbDrone.Core
|
|||
EnvironmentProvider.UGuid = Kernel.Get<ConfigProvider>().UGuid;
|
||||
ReportingService.RestProvider = Kernel.Get<RestProvider>();
|
||||
ReportingService.SetupExceptronDriver();
|
||||
|
||||
var appId = AnalyticsProvider.DESKMETRICS_TEST_ID;
|
||||
|
||||
if (EnvironmentProvider.IsProduction)
|
||||
appId = AnalyticsProvider.DESKMETRICS_PRODUCTION_ID;
|
||||
|
||||
var deskMetricsClient = new DeskMetricsClient(Kernel.Get<ConfigProvider>().UGuid.ToString(), appId, _environmentProvider.Version);
|
||||
Kernel.Bind<IDeskMetricsClient>().ToConstant(deskMetricsClient);
|
||||
|
||||
Kernel.Get<AnalyticsProvider>().Checkpoint();
|
||||
}
|
||||
|
||||
private void InitQuality()
|
||||
|
@ -142,7 +132,6 @@ namespace NzbDrone.Core
|
|||
Kernel.Bind<IJob>().To<AppUpdateJob>().InSingletonScope();
|
||||
Kernel.Bind<IJob>().To<TrimLogsJob>().InSingletonScope();
|
||||
Kernel.Bind<IJob>().To<RecentBacklogSearchJob>().InSingletonScope();
|
||||
Kernel.Bind<IJob>().To<CheckpointJob>().InSingletonScope();
|
||||
Kernel.Bind<IJob>().To<SearchHistoryCleanupJob>().InSingletonScope();
|
||||
Kernel.Bind<IJob>().To<PastWeekBacklogSearchJob>().InSingletonScope();
|
||||
Kernel.Bind<IJob>().To<RefreshEpisodeMetadata>().InSingletonScope();
|
||||
|
|
|
@ -11,9 +11,6 @@ namespace NzbDrone.Core.Datastore.Migrations
|
|||
{
|
||||
protected override void MainDbUpgrade()
|
||||
{
|
||||
//This should not run unless for a clean install
|
||||
EnvironmentProvider.RegisterNewInstall = true;
|
||||
|
||||
Database.AddTable("Series", new[]
|
||||
{
|
||||
new Column("SeriesId", DbType.Int32, ColumnProperty.PrimaryKey),
|
||||
|
|
|
@ -1,40 +0,0 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using Ninject;
|
||||
using NzbDrone.Common;
|
||||
using NzbDrone.Core.Model.Notification;
|
||||
using NzbDrone.Core.Providers;
|
||||
|
||||
namespace NzbDrone.Core.Jobs
|
||||
{
|
||||
public class CheckpointJob : IJob
|
||||
{
|
||||
private readonly AnalyticsProvider _analyticsProvider;
|
||||
|
||||
[Inject]
|
||||
public CheckpointJob(AnalyticsProvider analyticsProvider)
|
||||
{
|
||||
_analyticsProvider = analyticsProvider;
|
||||
}
|
||||
|
||||
public CheckpointJob()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public string Name
|
||||
{
|
||||
get { return "Checkpoint Job"; }
|
||||
}
|
||||
|
||||
public TimeSpan DefaultInterval
|
||||
{
|
||||
get { return TimeSpan.FromDays(1); }
|
||||
}
|
||||
|
||||
public void Start(ProgressNotification notification, int targetId, int secondaryTargetId)
|
||||
{
|
||||
_analyticsProvider.Checkpoint();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -252,7 +252,6 @@
|
|||
<Compile Include="Helpers\EpisodeSortingHelper.cs" />
|
||||
<Compile Include="Helpers\SortHelper.cs" />
|
||||
<Compile Include="Helpers\SabnzbdPriorityTypeConverter.cs" />
|
||||
<Compile Include="Jobs\CheckpointJob.cs" />
|
||||
<Compile Include="Jobs\RefreshEpsiodeMetadata.cs" />
|
||||
<Compile Include="Jobs\PastWeekBacklogSearchJob.cs" />
|
||||
<Compile Include="Jobs\SearchHistoryCleanupJob.cs" />
|
||||
|
@ -320,9 +319,6 @@
|
|||
<Compile Include="Jobs\IJob.cs" />
|
||||
<Compile Include="Jobs\RssSyncJob.cs" />
|
||||
<Compile Include="Jobs\UpdateInfoJob.cs" />
|
||||
<Compile Include="Providers\AnalyticsProvider.cs">
|
||||
<SubType>Code</SubType>
|
||||
</Compile>
|
||||
<Compile Include="Providers\StatsProvider.cs" />
|
||||
<Compile Include="Repository\MetadataDefinition.cs" />
|
||||
<Compile Include="Repository\Search\SearchHistoryItem.cs" />
|
||||
|
|
|
@ -1,71 +0,0 @@
|
|||
using System;
|
||||
using System.Linq;
|
||||
using DeskMetrics;
|
||||
using NLog;
|
||||
using Ninject;
|
||||
using NzbDrone.Common;
|
||||
using NzbDrone.Core.Providers.Core;
|
||||
|
||||
namespace NzbDrone.Core.Providers
|
||||
{
|
||||
public class AnalyticsProvider
|
||||
{
|
||||
private static readonly Logger logger = LogManager.GetCurrentClassLogger();
|
||||
|
||||
private readonly IDeskMetricsClient _deskMetricsClient;
|
||||
private readonly ConfigProvider _configProvider;
|
||||
public const string DESKMETRICS_TEST_ID = "4ea8d347a14ad71442000002";
|
||||
public const string DESKMETRICS_PRODUCTION_ID = "4f20b01ea14ad729b2000000";
|
||||
|
||||
[Inject]
|
||||
public AnalyticsProvider(IDeskMetricsClient deskMetricsClient, ConfigProvider configProvider)
|
||||
{
|
||||
_deskMetricsClient = deskMetricsClient;
|
||||
_configProvider = configProvider;
|
||||
}
|
||||
|
||||
public AnalyticsProvider()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public virtual void Checkpoint()
|
||||
{
|
||||
try
|
||||
{
|
||||
//Don't report anything unless working from master branch.
|
||||
if (!IsOnMasterBranch())
|
||||
return;
|
||||
|
||||
if (EnvironmentProvider.RegisterNewInstall)
|
||||
{
|
||||
_deskMetricsClient.RegisterInstall();
|
||||
EnvironmentProvider.RegisterNewInstall = false;
|
||||
}
|
||||
|
||||
if (_deskMetricsClient.Started)
|
||||
{
|
||||
_deskMetricsClient.Stop();
|
||||
}
|
||||
|
||||
_deskMetricsClient.Start();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
if (!EnvironmentProvider.IsProduction)
|
||||
throw;
|
||||
|
||||
logger.WarnException("Error while sending analytics data.", e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private bool IsOnMasterBranch()
|
||||
{
|
||||
var defaultUpdateUrl = UpdateProvider.DEFAULT_UPDATE_URL.Trim().Trim('/');
|
||||
var currentUpdateUrl = _configProvider.UpdateUrl.Trim().Trim('/');
|
||||
|
||||
return String.Equals(defaultUpdateUrl, currentUpdateUrl, StringComparison.InvariantCultureIgnoreCase);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -45,8 +45,6 @@ namespace NzbDrone.Test.Common
|
|||
[SetUp]
|
||||
public void TestBaseSetup()
|
||||
{
|
||||
EnvironmentProvider.RegisterNewInstall = true;
|
||||
|
||||
MockedRestProvider = new Mock<RestProvider>();
|
||||
ReportingService.RestProvider = MockedRestProvider.Object;
|
||||
ReportingService.SetupExceptronDriver();
|
||||
|
|
Loading…
Reference in New Issue