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");
- }
- }
-}
-