@ -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,10 +53,24 @@ 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 > ( ) ;
provider . Checkpoint ( ) ;
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 ( ) ) ;
@ -58,7 +79,7 @@ namespace NzbDrone.Core.Test.ProviderTests.AnalyticsProviderTests
[Test]
public void upgrade_should_not_register_install ( )
{
EnviromentProvider . Is NewInstall = false ;
EnviromentProvider . Register NewInstall = 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 . Is NewInstall = false ;
EnviromentProvider . Register NewInstall = 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 . Is NewInstall = true ;
EnviromentProvider . Register NewInstall = 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 ( ) ) ;
}
}
}