diff --git a/CurrentReleaseChanges.txt b/CurrentReleaseChanges.txt new file mode 100644 index 0000000..4e05959 --- /dev/null +++ b/CurrentReleaseChanges.txt @@ -0,0 +1,11 @@ +- defaultLiveMessage, defaultMachineMessage, defaultLiveMessageSoundId, defaultMachineMessageSoundId, defaultVoice params added to send calls api +- added batch id filter parameter for get broadcast calls/texts +- added fields filter parameter for add sound via call, returns CampaignSound object +- added fields filter parameter for add sound via text-to-speech, returns CampaignSound object +- defaultMessage parameter added to send texts function +- added findWebhookResource and findWebhookResources methods to use new webhooks apis +- resumeNextDay parameter added to CallBroadcast object +- transferMessage, transferMessageSoundId, transferDigit, transferNumber params added to CallRecipient object for sending calls and texts +- added questionResponses parameter to CallRecord object +- added duplicate parameter to CampaignSound object +- get call recordings api functions implemented in CallsApi diff --git a/build.gradle b/build.gradle index 668d40b..d640991 100644 --- a/build.gradle +++ b/build.gradle @@ -1,6 +1,8 @@ import org.gradle.internal.os.OperatingSystem import org.apache.tools.ant.taskdefs.condition.Os +import org.gradle.api.tasks.AbstractExecTask import groovy.xml.XmlUtil +import groovy.xml.StreamingMarkupBuilder plugins { id 'com.ullink.msbuild' version '2.14' @@ -8,9 +10,12 @@ plugins { id 'com.ullink.nunit' version '1.4' id 'com.ullink.opencover' version '1.2' id 'net.researchgate.release' version '2.3.4' + id 'com.github.jlouns.cpe' version '0.4.1' + id "co.riiid.gradle" version "0.4.2" } archivesBaseName = 'callfire-api-client' +ext['buildReleaseConfiguration'] = "CallfireApiClient" ext['buildReleaseConfiguration'] = "Release" ext['buildDebugConfiguration'] = "Debug" ext['assemblyBinReleaseDir'] = "src/CallfireApiClient/bin/$buildReleaseConfiguration" @@ -84,7 +89,7 @@ task updateNuspecFile << { updateNuspecFile.dependsOn msbuildDebug def patchVersion(version) { - def regex = ~/\[assembly: AssemblyVersion\("(.*)\.\*"\)\]/ + def regex = ~/\[assembly: AssemblyVersion\("(.*)\.\*"\)\]/ def matcher = regex.matcher(new File(assemblyInfo).text) while(matcher.find()) { def updated = matcher.group(1) @@ -96,7 +101,7 @@ def patchVersion(version) { task zipBinaries(type: Zip) { destinationDir = file(buildDistDir) - baseName = "CallfireApiClient" + baseName = "CallfireApiClient" from 'LICENSE.txt' from 'Changelog.txt' from (assemblyBinReleaseDir) { @@ -117,6 +122,76 @@ nugetPack { } nugetPack.dependsOn zipBinaries +task prepareTestData () << { + def inFile = file('src/CallfireApiClient.IntegrationTests/App.config') + def xml = new XmlSlurper().parse(inFile) + + def apiLogin + def apiPassword + + try { + apiLogin = "${testApiUsername}" + apiPassword = "${testApiPassword}" + println([ msbuild.projects['CallfireApiClient.IntegrationTests'].properties.TargetPath ]) + } catch(Exception ex) { + println("Api Username and/or Password are empty, you can't run integrationTests task, set them with -PtestApiUsername/-PtestApiPassword options") + apiLogin = "login" + apiPassword = "password" + } + + if (apiLogin != 'null' && apiPassword != 'null') { + xml.appSettings.add.findAll { it.@key == 'testLogin' || it.@key == 'testPassword' }.each { it.replaceNode {} } + xml.appSettings.appendNode { + add(key: "testLogin", value: apiLogin) {} + add(key: "testPassword", value: apiPassword) {} + } + } + def fw = new FileWriter('src/CallfireApiClient.IntegrationTests/App.config') + XmlUtil.serialize(xml, fw) + // have to close manually because on windows file remains locked + fw.close() +} + +task msbuildForIntegrationTests (type: com.ullink.Msbuild) { + solutionFile = 'callfire-api-client-csharp.sln' + configuration = buildReleaseConfiguration + projectName = 'CallfireApiClient' +} +msbuildForIntegrationTests.dependsOn prepareTestData + +task integrationTests (type: com.ullink.gradle.nunit.NUnit) { + testAssemblies = [ msbuild.projects['CallfireApiClient.IntegrationTests'].properties.TargetPath ] +} +integrationTests.dependsOn msbuildForIntegrationTests + +task prepareReleaseData () << { + try { + println("${gitHubOwner}") + println("${gitHubToken}") + } catch(Exception ex) { + println("GitHub Owner and/or Token are empty, you can't run github release task, set them with -PgitHubOwner/-PgitHubToken options") + } +} +prepareReleaseData.dependsOn nugetPack + +task configureCustomGitHubRelease () << { + github { + owner = "${gitHubOwner}" + repo = 'callfire-api-client-csharp' + token = "${gitHubToken}" + tagName = project.version + targetCommitish = 'master' + name = project.version + body = file('CurrentReleaseChanges.txt').text + assets = [ + 'build/dist/CallfireApiClient-' + project.version + '.zip', + 'build/dist/CallfireApiClient.' + project.version + '.nupkg' + ] + } +} +configureCustomGitHubRelease.dependsOn prepareReleaseData +githubRelease.dependsOn configureCustomGitHubRelease + // nuget package upload, requires API key to be set nugetPush { apiKey = System.properties[ 'NUGET_API_KEY' ] ?: "key not set" diff --git a/callfire-api-client-csharp.sln b/callfire-api-client-csharp.sln index 082b9b5..a1e3dc8 100644 --- a/callfire-api-client-csharp.sln +++ b/callfire-api-client-csharp.sln @@ -9,6 +9,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CallfireApiClient", "src\Ca EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CallfireApiClient.Tests", "src\CallfireApiClient.Tests\CallfireApiClient.Tests.csproj", "{17AF49CB-38AF-484D-9151-B470F320221D}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CallfireApiClient.IntegrationTests", "src\CallfireApiClient.IntegrationTests\CallfireApiClient.IntegrationTests.csproj", "{CAE3C5E6-7BBB-4673-BF70-7AA012A57F2C}" +EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{88EF74FD-46C2-4510-A4C2-BCFACA8E3399}" ProjectSection(SolutionItems) = preProject build.gradle = build.gradle @@ -24,15 +26,18 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7C6961C8-3576-4499-92B6-3B5D798BDBFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7C6961C8-3576-4499-92B6-3B5D798BDBFC}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7C6961C8-3576-4499-92B6-3B5D798BDBFC}.Debug|Any CPU.Deploy.0 = Debug|Any CPU - {7C6961C8-3576-4499-92B6-3B5D798BDBFC}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7C6961C8-3576-4499-92B6-3B5D798BDBFC}.Release|Any CPU.Build.0 = Release|Any CPU {17AF49CB-38AF-484D-9151-B470F320221D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {17AF49CB-38AF-484D-9151-B470F320221D}.Debug|Any CPU.Build.0 = Debug|Any CPU {17AF49CB-38AF-484D-9151-B470F320221D}.Release|Any CPU.ActiveCfg = Release|Any CPU {17AF49CB-38AF-484D-9151-B470F320221D}.Release|Any CPU.Build.0 = Release|Any CPU + {7C6961C8-3576-4499-92B6-3B5D798BDBFC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7C6961C8-3576-4499-92B6-3B5D798BDBFC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7C6961C8-3576-4499-92B6-3B5D798BDBFC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7C6961C8-3576-4499-92B6-3B5D798BDBFC}.Release|Any CPU.Build.0 = Release|Any CPU + {CAE3C5E6-7BBB-4673-BF70-7AA012A57F2C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CAE3C5E6-7BBB-4673-BF70-7AA012A57F2C}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CAE3C5E6-7BBB-4673-BF70-7AA012A57F2C}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CAE3C5E6-7BBB-4673-BF70-7AA012A57F2C}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -40,6 +45,7 @@ Global GlobalSection(NestedProjects) = preSolution {7C6961C8-3576-4499-92B6-3B5D798BDBFC} = {851D9BA2-9C00-4769-84BA-AD8A168F733E} {17AF49CB-38AF-484D-9151-B470F320221D} = {851D9BA2-9C00-4769-84BA-AD8A168F733E} + {CAE3C5E6-7BBB-4673-BF70-7AA012A57F2C} = {851D9BA2-9C00-4769-84BA-AD8A168F733E} EndGlobalSection GlobalSection(MonoDevelopProperties) = preSolution Policies = $0 diff --git a/src/CallfireApiClient.IntegrationTests/Api/AbstractIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/AbstractIntegrationTest.cs new file mode 100644 index 0000000..3290564 --- /dev/null +++ b/src/CallfireApiClient.IntegrationTests/Api/AbstractIntegrationTest.cs @@ -0,0 +1,42 @@ +using System; +using System.Configuration; + +namespace CallfireApiClient.IntegrationTests.Api +{ + public class AbstractIntegrationTest + { + protected CallfireClient Client; + + private string apiUserName; + + private string apiUserPassword; + + public AbstractIntegrationTest() + { + ReadAllSettings(); + Client = new CallfireClient(apiUserName, apiUserPassword); + } + + private void ReadAllSettings() + { + try + { + var appSettings = ConfigurationManager.AppSettings; + if (appSettings.Count == 0) + { + Console.WriteLine("AppSettings is empty."); + } + else + { + apiUserName = appSettings["testLogin"]; + apiUserPassword = appSettings["testPassword"]; + } + } + catch (ConfigurationErrorsException) + { + Console.WriteLine("Error reading app settings"); + } + } + } +} + diff --git a/src/CallfireApiClient.Tests/Integration/Account/MeApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Account/MeApiIntegrationTest.cs similarity index 96% rename from src/CallfireApiClient.Tests/Integration/Account/MeApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Account/MeApiIntegrationTest.cs index 98f30f9..2d477bd 100644 --- a/src/CallfireApiClient.Tests/Integration/Account/MeApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Account/MeApiIntegrationTest.cs @@ -5,9 +5,9 @@ using CallfireApiClient.Api.Common.Model; using CallfireApiClient.Api.Account.Model.Request; -namespace CallfireApiClient.Tests.Integration.Account +namespace CallfireApiClient.IntegrationTests.Api.Account { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class MeApiIntegrationTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.Tests/Integration/Account/OrdersApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Account/OrdersApiIntegrationTest.cs similarity index 93% rename from src/CallfireApiClient.Tests/Integration/Account/OrdersApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Account/OrdersApiIntegrationTest.cs index 0ad928d..9709801 100644 --- a/src/CallfireApiClient.Tests/Integration/Account/OrdersApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Account/OrdersApiIntegrationTest.cs @@ -4,9 +4,9 @@ using CallfireApiClient.Api.Numbers.Model.Request; using System.Collections.Generic; -namespace CallfireApiClient.Tests.Integration.Account +namespace CallfireApiClient.IntegrationTests.Api.Account { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class OrdersApiIntegrationTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.Tests/Integration/CallsTexts/CallsApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/CallsTexts/CallsApiIntegrationTest.cs similarity index 94% rename from src/CallfireApiClient.Tests/Integration/CallsTexts/CallsApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/CallsTexts/CallsApiIntegrationTest.cs index 758fbce..94ae2f2 100644 --- a/src/CallfireApiClient.Tests/Integration/CallsTexts/CallsApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/CallsTexts/CallsApiIntegrationTest.cs @@ -9,9 +9,9 @@ using CallfireApiClient.Api.Campaigns.Model; using System.IO; -namespace CallfireApiClient.Tests.Integration.CallsTexts +namespace CallfireApiClient.IntegrationTests.Api.CallsTexts { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class CallsApiIntegrationTest : AbstractIntegrationTest { @@ -101,7 +101,7 @@ public void GetCallRecording() [Test] public void GetCallRecordingInMp3Format() { - string mp3FilePath = "Integration/Resources/File-examples/testDownloadRecordingById.mp3"; + string mp3FilePath = "Resources/File-examples/testDownloadRecordingById.mp3"; MemoryStream ms = (MemoryStream)Client.CallsApi.GetCallRecordingMp3(1); File.WriteAllBytes(mp3FilePath, ms.ToArray()); } @@ -139,7 +139,7 @@ public void GetCallRecordingByName() public void CallRecordingMp3ByName() { CallRecording rec = Client.CallsApi.GetCallRecording(18666772003); - string mp3FilePath = "Integration/Resources/File-examples/testDownloadRecordingByName.mp3"; + string mp3FilePath = "Resources/File-examples/testDownloadRecordingByName.mp3"; MemoryStream ms = (MemoryStream)Client.CallsApi.GetCallRecordingMp3ByName((long) rec.CallId, rec.Name); File.WriteAllBytes(mp3FilePath, ms.ToArray()); } diff --git a/src/CallfireApiClient.Tests/Integration/CallsTexts/MediaApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/CallsTexts/MediaApiIntegrationTest.cs similarity index 93% rename from src/CallfireApiClient.Tests/Integration/CallsTexts/MediaApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/CallsTexts/MediaApiIntegrationTest.cs index 6e7ce0b..54b8f1a 100644 --- a/src/CallfireApiClient.Tests/Integration/CallsTexts/MediaApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/CallsTexts/MediaApiIntegrationTest.cs @@ -4,13 +4,13 @@ using NUnit.Framework; using System.IO; -namespace CallfireApiClient.Tests.Integration.CallsTexts +namespace CallfireApiClient.IntegrationTests.Api.CallsTexts { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class MediaApiIntegrationTest : AbstractIntegrationTest { - private const string mp3FilePath = "Integration/Resources/File-examples/train1.mp3"; - private const string wavFilePath = "Integration/Resources/File-examples/train1.wav"; + private const string mp3FilePath = "Resources/File-examples/train1.mp3"; + private const string wavFilePath = "Resources/File-examples/train1.wav"; [Test] public void TestUpload() diff --git a/src/CallfireApiClient.Tests/Integration/CallsTexts/TextsApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/CallsTexts/TextsApiIntegrationTest.cs similarity index 95% rename from src/CallfireApiClient.Tests/Integration/CallsTexts/TextsApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/CallsTexts/TextsApiIntegrationTest.cs index 2c2f74d..a183773 100644 --- a/src/CallfireApiClient.Tests/Integration/CallsTexts/TextsApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/CallsTexts/TextsApiIntegrationTest.cs @@ -6,9 +6,10 @@ using NUnit.Framework; using CallfireApiClient.Api.Common.Model.Request; -namespace CallfireApiClient.Tests.Integration.CallsTexts + +namespace CallfireApiClient.IntegrationTests.Api.CallsTexts { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class TextsApiIntegrationTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.Tests/Integration/Campaigns/BatchesApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Campaigns/BatchesApiIntegrationTest.cs similarity index 86% rename from src/CallfireApiClient.Tests/Integration/Campaigns/BatchesApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Campaigns/BatchesApiIntegrationTest.cs index 94b6ac5..4ad90f7 100644 --- a/src/CallfireApiClient.Tests/Integration/Campaigns/BatchesApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Campaigns/BatchesApiIntegrationTest.cs @@ -1,9 +1,9 @@ using System; using NUnit.Framework; -namespace CallfireApiClient.Tests.Integration.Campaigns +namespace CallfireApiClient.IntegrationTests.Api.Campaigns { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class BatchesApiTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.Tests/Integration/Campaigns/CallBroadcastsApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Campaigns/CallBroadcastsApiIntegrationTest.cs similarity index 98% rename from src/CallfireApiClient.Tests/Integration/Campaigns/CallBroadcastsApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Campaigns/CallBroadcastsApiIntegrationTest.cs index 159004c..c7f7a31 100644 --- a/src/CallfireApiClient.Tests/Integration/Campaigns/CallBroadcastsApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Campaigns/CallBroadcastsApiIntegrationTest.cs @@ -5,9 +5,9 @@ using CallfireApiClient.Api.Campaigns.Model.Request; using CallfireApiClient.Api.Common.Model.Request; -namespace CallfireApiClient.Tests.Integration.Campaigns +namespace CallfireApiClient.IntegrationTests.Api.Campaigns { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class CallBroadcastsApiIntegrationTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.Tests/Integration/Campaigns/CampaignSoundsApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Campaigns/CampaignSoundsApiIntegrationTest.cs similarity index 89% rename from src/CallfireApiClient.Tests/Integration/Campaigns/CampaignSoundsApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Campaigns/CampaignSoundsApiIntegrationTest.cs index 52297c8..9767cdd 100644 --- a/src/CallfireApiClient.Tests/Integration/Campaigns/CampaignSoundsApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Campaigns/CampaignSoundsApiIntegrationTest.cs @@ -5,9 +5,9 @@ using CallfireApiClient.Api.Common.Model; using System.IO; -namespace CallfireApiClient.Tests.Integration.Campaigns +namespace CallfireApiClient.IntegrationTests.Api.Campaigns { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class CampaignSoundsApiIntegrationTest : AbstractIntegrationTest { [Test] @@ -49,8 +49,8 @@ public void TestUploadMp3WavFilesAndGetThem() { String soundName = "mp3_test_" + DateTime.Now.ToString(); - string mp3FilePath = "Integration/Resources/File-examples/train1.mp3"; - string wavFilePath = "Integration/Resources/File-examples/train1.wav"; + string mp3FilePath = "Resources/File-examples/train1.mp3"; + string wavFilePath = "Resources/File-examples/train1.wav"; ResourceId mp3ResourceId = Client.CampaignSoundsApi.Upload(mp3FilePath, soundName); ResourceId wavResourceId = Client.CampaignSoundsApi.Upload(wavFilePath); @@ -66,13 +66,13 @@ public void TestUploadMp3WavFilesAndGetThem() // get mp3 MemoryStream ms = (MemoryStream)Client.CampaignSoundsApi.GetMp3(mp3ResourceId.Id); - string existingFilePath = Path.GetFullPath("Integration/Resources/File-examples/train1.mp3"); + string existingFilePath = Path.GetFullPath("Resources/File-examples/train1.mp3"); string pathToSaveNewFile = existingFilePath.Replace("train.mp3", "mp3_sound.mp3"); File.WriteAllBytes(pathToSaveNewFile, ms.ToArray()); // get wav ms = (MemoryStream)Client.CampaignSoundsApi.GetWav(wavResourceId.Id); - existingFilePath = Path.GetFullPath("Integration/Resources/File-examples/train1.wav"); + existingFilePath = Path.GetFullPath("Resources/File-examples/train1.wav"); pathToSaveNewFile = existingFilePath.Replace("train.wav", "wav_sound.wav"); File.WriteAllBytes(pathToSaveNewFile, ms.ToArray()); diff --git a/src/CallfireApiClient.Tests/Integration/Campaigns/TextAutoRepliesApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Campaigns/TextAutoRepliesApiIntegrationTest.cs similarity index 94% rename from src/CallfireApiClient.Tests/Integration/Campaigns/TextAutoRepliesApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Campaigns/TextAutoRepliesApiIntegrationTest.cs index 4e816fe..2f38cfa 100644 --- a/src/CallfireApiClient.Tests/Integration/Campaigns/TextAutoRepliesApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Campaigns/TextAutoRepliesApiIntegrationTest.cs @@ -3,9 +3,9 @@ using CallfireApiClient.Api.Campaigns.Model; using CallfireApiClient.Api.Campaigns.Model.Request; -namespace CallfireApiClient.Tests.Integration.Campaigns +namespace CallfireApiClient.IntegrationTests.Api.Campaigns { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class TextAutoRepliesApiIntegrationTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.Tests/Integration/Campaigns/TextBroadcastsApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Campaigns/TextBroadcastsApiIntegrationTest.cs similarity index 98% rename from src/CallfireApiClient.Tests/Integration/Campaigns/TextBroadcastsApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Campaigns/TextBroadcastsApiIntegrationTest.cs index 9f67a7d..10da597 100644 --- a/src/CallfireApiClient.Tests/Integration/Campaigns/TextBroadcastsApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Campaigns/TextBroadcastsApiIntegrationTest.cs @@ -6,9 +6,9 @@ using CallfireApiClient.Api.Campaigns.Model.Request; using CallfireApiClient.Api.Common.Model.Request; -namespace CallfireApiClient.Tests.Integration.Campaigns +namespace CallfireApiClient.IntegrationTests.Api.Campaigns { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class TextBroadcastsApiIntegrationTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.Tests/Integration/Contacts/ContactListsApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Contacts/ContactListsApiIntegrationTest.cs similarity index 98% rename from src/CallfireApiClient.Tests/Integration/Contacts/ContactListsApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Contacts/ContactListsApiIntegrationTest.cs index aa93409..8e4fd67 100644 --- a/src/CallfireApiClient.Tests/Integration/Contacts/ContactListsApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Contacts/ContactListsApiIntegrationTest.cs @@ -7,9 +7,9 @@ using System.Collections.Generic; using CallfireApiClient.Api.Common.Model.Request; -namespace CallfireApiClient.Tests.Integration.Contacts +namespace CallfireApiClient.IntegrationTests.Api.Contacts { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class ContactListsApiIntegrationTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.Tests/Integration/Contacts/ContactsApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Contacts/ContactsApiIntegrationTest.cs similarity index 96% rename from src/CallfireApiClient.Tests/Integration/Contacts/ContactsApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Contacts/ContactsApiIntegrationTest.cs index b3b1f67..27c0883 100644 --- a/src/CallfireApiClient.Tests/Integration/Contacts/ContactsApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Contacts/ContactsApiIntegrationTest.cs @@ -5,9 +5,9 @@ using CallfireApiClient.Api.Common.Model.Request; using CallfireApiClient.Api.Contacts.Model; -namespace CallfireApiClient.Tests.Integration.Contacts +namespace CallfireApiClient.IntegrationTests.Api.Contacts { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class ContactsApiIntegrationTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.Tests/Integration/Contacts/DncApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Contacts/DncApiIntegrationTest.cs similarity index 94% rename from src/CallfireApiClient.Tests/Integration/Contacts/DncApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Contacts/DncApiIntegrationTest.cs index 8189d56..21a2d32 100644 --- a/src/CallfireApiClient.Tests/Integration/Contacts/DncApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Contacts/DncApiIntegrationTest.cs @@ -4,9 +4,9 @@ using CallfireApiClient.Api.Contacts.Model.Request; using CallfireApiClient.Api.Common.Model; -namespace CallfireApiClient.Tests.Integration.Contacts +namespace CallfireApiClient.IntegrationTests.Api.Contacts { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class DncApiIntegrationTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.Tests/Integration/Contacts/DncListsApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Contacts/DncListsApiIntegrationTest.cs similarity index 96% rename from src/CallfireApiClient.Tests/Integration/Contacts/DncListsApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Contacts/DncListsApiIntegrationTest.cs index 34eea95..46c6597 100644 --- a/src/CallfireApiClient.Tests/Integration/Contacts/DncListsApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Contacts/DncListsApiIntegrationTest.cs @@ -6,9 +6,9 @@ using System.Collections.Generic; using CallfireApiClient.Api.Common.Model.Request; -namespace CallfireApiClient.Tests.Integration.Contacts +namespace CallfireApiClient.IntegrationTests.Api.Contacts { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class DncListsApiIntegrationTest : AbstractIntegrationTest { diff --git a/src/CallfireApiClient.Tests/Integration/Keywords/KeywordLeasesApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Keywords/KeywordLeasesApiIntegrationTest.cs similarity index 92% rename from src/CallfireApiClient.Tests/Integration/Keywords/KeywordLeasesApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Keywords/KeywordLeasesApiIntegrationTest.cs index 4297409..30ff172 100644 --- a/src/CallfireApiClient.Tests/Integration/Keywords/KeywordLeasesApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Keywords/KeywordLeasesApiIntegrationTest.cs @@ -4,9 +4,9 @@ using CallfireApiClient.Api.Common.Model.Request; using CallfireApiClient.Api.Common.Model; -namespace CallfireApiClient.Tests.Integration.Keywords +namespace CallfireApiClient.IntegrationTests.Api.Keywords { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class KeywordLeasesApiIntegrationTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.Tests/Integration/Keywords/KeywordsApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Keywords/KeywordsApiIntegrationTest.cs similarity index 90% rename from src/CallfireApiClient.Tests/Integration/Keywords/KeywordsApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Keywords/KeywordsApiIntegrationTest.cs index da75bc8..2fad194 100644 --- a/src/CallfireApiClient.Tests/Integration/Keywords/KeywordsApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Keywords/KeywordsApiIntegrationTest.cs @@ -3,9 +3,9 @@ using System.Collections.Generic; using CallfireApiClient.Api.Keywords.Model; -namespace CallfireApiClient.Tests.Integration.Keywords +namespace CallfireApiClient.IntegrationTests.Api.Keywords { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class KeywordsApiIntegrationTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.Tests/Integration/Numbers/NumberLeasesApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Numbers/NumberLeasesApiIntegrationTest.cs similarity index 97% rename from src/CallfireApiClient.Tests/Integration/Numbers/NumberLeasesApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Numbers/NumberLeasesApiIntegrationTest.cs index 4903998..de9803a 100644 --- a/src/CallfireApiClient.Tests/Integration/Numbers/NumberLeasesApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Numbers/NumberLeasesApiIntegrationTest.cs @@ -3,9 +3,9 @@ using CallfireApiClient.Api.Numbers.Model; using CallfireApiClient.Api.Numbers.Model.Request; -namespace CallfireApiClient.Tests.Integration.Numbers +namespace CallfireApiClient.IntegrationTests.Api.Numbers { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class NumberLeasesApiIntegrationTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.Tests/Integration/Numbers/NumbersApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Numbers/NumbersApiIntegrationTest.cs similarity index 93% rename from src/CallfireApiClient.Tests/Integration/Numbers/NumbersApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Numbers/NumbersApiIntegrationTest.cs index ffaa5f5..54e4616 100644 --- a/src/CallfireApiClient.Tests/Integration/Numbers/NumbersApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Numbers/NumbersApiIntegrationTest.cs @@ -3,9 +3,9 @@ using CallfireApiClient.Api.Common.Model.Request; using CallfireApiClient.Api.Numbers.Model.Request; -namespace CallfireApiClient.Tests.Integration.Numbers +namespace CallfireApiClient.IntegrationTests.Api.Numbers { - [TestFixture, Ignore("temporary ignored")] + [TestFixture] public class NumbersApiIntegrationTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.Tests/Integration/ProxyIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/ProxyIntegrationTest.cs similarity index 92% rename from src/CallfireApiClient.Tests/Integration/ProxyIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/ProxyIntegrationTest.cs index e41c1aa..0ab788f 100644 --- a/src/CallfireApiClient.Tests/Integration/ProxyIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/ProxyIntegrationTest.cs @@ -1,7 +1,7 @@ using System; using NUnit.Framework; -namespace CallfireApiClient.Tests.Integration +namespace CallfireApiClient.IntegrationTests.Api { [TestFixture, Ignore] public class ProxyIntegrationTest diff --git a/src/CallfireApiClient.Tests/Integration/Webhooks/SubscriptionsApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Webhooks/SubscriptionsApiIntegrationTest.cs similarity index 95% rename from src/CallfireApiClient.Tests/Integration/Webhooks/SubscriptionsApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Webhooks/SubscriptionsApiIntegrationTest.cs index cbee9fe..166294a 100644 --- a/src/CallfireApiClient.Tests/Integration/Webhooks/SubscriptionsApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Webhooks/SubscriptionsApiIntegrationTest.cs @@ -3,9 +3,9 @@ using CallfireApiClient.Api.Webhooks.Model; using CallfireApiClient.Api.Webhooks.Model.Request; -namespace CallfireApiClient.Tests.Integration.Webhooks +namespace CallfireApiClient.IntegrationTests.Api.Webhooks { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class SubscriptionsApiIntegrationTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.Tests/Integration/Webhooks/WebhooksApiIntegrationTest.cs b/src/CallfireApiClient.IntegrationTests/Api/Webhooks/WebhooksApiIntegrationTest.cs similarity index 96% rename from src/CallfireApiClient.Tests/Integration/Webhooks/WebhooksApiIntegrationTest.cs rename to src/CallfireApiClient.IntegrationTests/Api/Webhooks/WebhooksApiIntegrationTest.cs index 1baa992..dc5ed06 100644 --- a/src/CallfireApiClient.Tests/Integration/Webhooks/WebhooksApiIntegrationTest.cs +++ b/src/CallfireApiClient.IntegrationTests/Api/Webhooks/WebhooksApiIntegrationTest.cs @@ -3,9 +3,9 @@ using CallfireApiClient.Api.Webhooks.Model; using System.Collections.Generic; -namespace CallfireApiClient.Tests.Integration.Webhooks +namespace CallfireApiClient.IntegrationTests.Api.Webhooks { - [TestFixture, Ignore("temporary disabled")] + [TestFixture] public class WebhooksApiIntegrationTest : AbstractIntegrationTest { [Test] diff --git a/src/CallfireApiClient.IntegrationTests/App.config b/src/CallfireApiClient.IntegrationTests/App.config new file mode 100644 index 0000000..fcac328 --- /dev/null +++ b/src/CallfireApiClient.IntegrationTests/App.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/src/CallfireApiClient.IntegrationTests/CallfireApiClient.IntegrationTests.csproj b/src/CallfireApiClient.IntegrationTests/CallfireApiClient.IntegrationTests.csproj new file mode 100644 index 0000000..0e20c46 --- /dev/null +++ b/src/CallfireApiClient.IntegrationTests/CallfireApiClient.IntegrationTests.csproj @@ -0,0 +1,99 @@ + + + + Debug + AnyCPU + {CAE3C5E6-7BBB-4673-BF70-7AA012A57F2C} + Library + CallfireApiClient.IntegrationTests + IntegrationTests + True + 1.0.0 + v4.5 + + + + true + full + false + bin\Debug + DEBUG; + prompt + 4 + true + false + + + full + true + bin\Release + prompt + 4 + true + false + + + + + ..\..\packages\NUnit.2.6.4\lib\nunit.framework.dll + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {7C6961C8-3576-4499-92B6-3B5D798BDBFC} + CallfireApiClient + + + + + Designer + + + + Always + + + + + Always + + + Always + + + + + PreserveNewest + + + + + + \ No newline at end of file diff --git a/src/CallfireApiClient.IntegrationTests/Properties/AssemblyInfo.cs b/src/CallfireApiClient.IntegrationTests/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..4bf6755 --- /dev/null +++ b/src/CallfireApiClient.IntegrationTests/Properties/AssemblyInfo.cs @@ -0,0 +1,26 @@ +using System.Reflection; + +// Information about this assembly is defined by the following attributes. +// Change them to the values specific to your project. + +[assembly: AssemblyTitle("IntegrationTests")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("")] +[assembly: AssemblyCopyright("vmikhailov")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// The assembly version has the format "{Major}.{Minor}.{Build}.{Revision}". +// The form "{Major}.{Minor}.*" will automatically update the build and revision, +// and "{Major}.{Minor}.{Build}.*" will update just the revision. + +[assembly: AssemblyVersion("1.0.*")] + +// The following attributes are used to specify the signing key for the assembly, +// if desired. See the Mono documentation for more information about signing. + +//[assembly: AssemblyDelaySign(false)] +//[assembly: AssemblyKeyFile("")] + diff --git a/src/CallfireApiClient.IntegrationTests/Resources/File-examples/contacts1.csv b/src/CallfireApiClient.IntegrationTests/Resources/File-examples/contacts1.csv new file mode 100644 index 0000000..93b6b08 --- /dev/null +++ b/src/CallfireApiClient.IntegrationTests/Resources/File-examples/contacts1.csv @@ -0,0 +1,4 @@ +firstName,lastName,workPhone,homePhone +Name1,Surname1,12345678881,12345678881 +Name2,Surname2,12345678882,12345678883 +Name3,Surname3,12345678883,12345678883 \ No newline at end of file diff --git a/src/CallfireApiClient.Tests/Integration/Resources/File-examples/train1.mp3 b/src/CallfireApiClient.IntegrationTests/Resources/File-examples/train1.mp3 similarity index 100% rename from src/CallfireApiClient.Tests/Integration/Resources/File-examples/train1.mp3 rename to src/CallfireApiClient.IntegrationTests/Resources/File-examples/train1.mp3 diff --git a/src/CallfireApiClient.Tests/Integration/Resources/File-examples/train1.wav b/src/CallfireApiClient.IntegrationTests/Resources/File-examples/train1.wav similarity index 100% rename from src/CallfireApiClient.Tests/Integration/Resources/File-examples/train1.wav rename to src/CallfireApiClient.IntegrationTests/Resources/File-examples/train1.wav diff --git a/src/CallfireApiClient.IntegrationTests/callfire-api-client.dll.config b/src/CallfireApiClient.IntegrationTests/callfire-api-client.dll.config new file mode 100644 index 0000000..af145f4 --- /dev/null +++ b/src/CallfireApiClient.IntegrationTests/callfire-api-client.dll.config @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/CallfireApiClient.IntegrationTests/packages.config b/src/CallfireApiClient.IntegrationTests/packages.config new file mode 100644 index 0000000..c714ef3 --- /dev/null +++ b/src/CallfireApiClient.IntegrationTests/packages.config @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/src/CallfireApiClient.Tests/CallfireApiClient.Tests.csproj b/src/CallfireApiClient.Tests/CallfireApiClient.Tests.csproj index e7067ab..c82978c 100644 --- a/src/CallfireApiClient.Tests/CallfireApiClient.Tests.csproj +++ b/src/CallfireApiClient.Tests/CallfireApiClient.Tests.csproj @@ -75,28 +75,6 @@ - - - - - - - - - - - - - - - - - - - - - - @@ -248,16 +226,6 @@ Always - - - Always - - - - - Always - - diff --git a/src/CallfireApiClient.Tests/Integration/AbstractIntegrationTest.cs b/src/CallfireApiClient.Tests/Integration/AbstractIntegrationTest.cs deleted file mode 100644 index 87179ab..0000000 --- a/src/CallfireApiClient.Tests/Integration/AbstractIntegrationTest.cs +++ /dev/null @@ -1,15 +0,0 @@ -using CallfireApiClient; - -namespace CallfireApiClient.Tests.Integration -{ - public class AbstractIntegrationTest - { - protected CallfireClient Client; - - public AbstractIntegrationTest() - { - Client = new CallfireClient("login", "password"); - } - } -} -