updated analytics

This commit is contained in:
kay.one 2012-02-14 18:20:32 -08:00
commit 5c03c873b2
7 changed files with 45 additions and 21 deletions

View file

@ -1,4 +1,5 @@
using System.Linq;
using System;
using System.Linq;
using DeskMetrics;
using Moq;
using NUnit.Framework;
@ -19,6 +20,12 @@ namespace NzbDrone.Core.Test.ProviderTests.AnalyticsProviderTests
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()
{
@ -27,8 +34,8 @@ namespace NzbDrone.Core.Test.ProviderTests.AnalyticsProviderTests
provider.Checkpoint();
Mocker.GetMock<IDeskMetricsClient>().Verify(c=>c.Start(), Times.Once());
Mocker.GetMock<IDeskMetricsClient>().Verify(c=>c.Stop(), Times.Once());
Mocker.GetMock<IDeskMetricsClient>().Verify(c => c.Start(), Times.Once());
Mocker.GetMock<IDeskMetricsClient>().Verify(c => c.Stop(), Times.Once());
}
[Test]
@ -46,7 +53,7 @@ namespace NzbDrone.Core.Test.ProviderTests.AnalyticsProviderTests
[Test]
public void new_install_should_be_registered()
{
EnviromentProvider.IsNewInstall = true;
EnviromentProvider.RegisterNewInstall = true;
var provider = Mocker.Resolve<AnalyticsProvider>();
@ -55,10 +62,24 @@ namespace NzbDrone.Core.Test.ProviderTests.AnalyticsProviderTests
Mocker.GetMock<IDeskMetricsClient>().Verify(c => c.RegisterInstall(), Times.Once());
}
[Test]
public void new_install_should_only_be_registered_on_first_call()
{
EnviromentProvider.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()
{
EnviromentProvider.IsNewInstall = false;
EnviromentProvider.RegisterNewInstall = false;
var provider = Mocker.Resolve<AnalyticsProvider>();
@ -71,7 +92,7 @@ namespace NzbDrone.Core.Test.ProviderTests.AnalyticsProviderTests
[Test]
public void shouldnt_register_anything_if_not_on_master_branch()
{
EnviromentProvider.IsNewInstall = false;
EnviromentProvider.RegisterNewInstall = false;
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.UpdateUrl).Returns("http://update.nzbdrone.com/master_auto/");
@ -83,7 +104,7 @@ namespace NzbDrone.Core.Test.ProviderTests.AnalyticsProviderTests
[Test]
public void new_install_shouldnt_register_anything_if_not_on_master_branch()
{
EnviromentProvider.IsNewInstall = true;
EnviromentProvider.RegisterNewInstall = true;
Mocker.GetMock<ConfigProvider>().SetupGet(c => c.UpdateUrl).Returns("http://update.nzbdrone.com/master_auto/");
@ -92,6 +113,16 @@ namespace NzbDrone.Core.Test.ProviderTests.AnalyticsProviderTests
Mocker.Resolve<AnalyticsProvider>().Checkpoint();
}
[Test]
public void should_be_able_to_call_deskmetrics_using_test_appid()
{
EnviromentProvider.RegisterNewInstall = true;
Mocker.Resolve<AnalyticsProvider>().Checkpoint();
}
[TestCase("http://update.nzbdrone.com/master/")]
[TestCase("http://update.nzbdrone.com/master//")]
@ -110,6 +141,6 @@ namespace NzbDrone.Core.Test.ProviderTests.AnalyticsProviderTests
Mocker.GetMock<IDeskMetricsClient>().Verify(c => c.Start(), Times.Once());
}
}
}