Skip to content

Commit

Permalink
Merge pull request #13 from Nexmo/netcore
Browse files Browse the repository at this point in the history
.NET Core/Standard and v2.0 release
  • Loading branch information
smithrobs committed Oct 24, 2016
2 parents 287747b + 688298b commit 1c048b3
Show file tree
Hide file tree
Showing 67 changed files with 1,210 additions and 1,042 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -189,4 +189,6 @@ FakesAssemblies/
# Ignore config because api keys are stored here (copy example configs to these files)
web.config
app.config
settings.json
Nexmo.Api.Test.Unit/private.key
project.lock.json
25 changes: 24 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,27 @@
<a name="1.0.0"></a>
# 2.0.0 (2016-10-24)

* Dependency marking for netstandard1.6

# 2.0.0-rc2 (2016-10-22)

* Fix JWT generation (key import fail) on OSX/Linux

# 2.0.0-rc1 (2016-10-16)

* NumberInsight basic + standard support
* NumberVerify control call
* JWT token generation
* Application API support
* Application-based call API support
* .NET Standard 1.6 support
* __[BREAKING]__ Moved configuration from app.config to settings.json
* __[BREAKING]__ Nexmo.Api.Voice static class has been deprecated - you must move to the new Voice calls inside the new Nexmo.Api.Voice namespace. See [the Nexmo docs](https://docs.nexmo.com/voice/voice-api) for details.

JWT notes:

* When registering a new application, make sure you save the private key. This library does not (currently) take care of this for you.
* Make sure your saved private key is ASCII (not UTF-8, no BOM) - http://stackoverflow.com/questions/1068650/using-awk-to-remove-the-byte-order-mark

# 1.0.0 (2016-03-19)

* Initial release with nuget package
31 changes: 31 additions & 0 deletions NetFrameworkSamples.sln
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Nexmo.Web.Sample", "Nexmo.Web.Sample\Nexmo.Web.Sample.csproj", "{3B32C093-EBED-4D60-B2FC-046F8FCE11D9}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
Release452|Any CPU = Release452|Any CPU
Release46|Any CPU = Release46|Any CPU
Release461|Any CPU = Release461|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{3B32C093-EBED-4D60-B2FC-046F8FCE11D9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{3B32C093-EBED-4D60-B2FC-046F8FCE11D9}.Debug|Any CPU.Build.0 = Debug|Any CPU
{3B32C093-EBED-4D60-B2FC-046F8FCE11D9}.Release|Any CPU.ActiveCfg = Release|Any CPU
{3B32C093-EBED-4D60-B2FC-046F8FCE11D9}.Release|Any CPU.Build.0 = Release|Any CPU
{3B32C093-EBED-4D60-B2FC-046F8FCE11D9}.Release452|Any CPU.ActiveCfg = Release452|Any CPU
{3B32C093-EBED-4D60-B2FC-046F8FCE11D9}.Release452|Any CPU.Build.0 = Release452|Any CPU
{3B32C093-EBED-4D60-B2FC-046F8FCE11D9}.Release46|Any CPU.ActiveCfg = Release46|Any CPU
{3B32C093-EBED-4D60-B2FC-046F8FCE11D9}.Release46|Any CPU.Build.0 = Release46|Any CPU
{3B32C093-EBED-4D60-B2FC-046F8FCE11D9}.Release461|Any CPU.ActiveCfg = Release461|Any CPU
{3B32C093-EBED-4D60-B2FC-046F8FCE11D9}.Release461|Any CPU.Build.0 = Release461|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
5 changes: 2 additions & 3 deletions Nexmo.Api.Test.Integration/AccountTest.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System.Configuration;
using System.Linq;
using System.Linq;
using NUnit.Framework;

namespace Nexmo.Api.Test.Integration
Expand Down Expand Up @@ -44,7 +43,7 @@ public void should_get_numbers()
{
var response = Account.GetNumbers();
Assert.AreEqual(1, response.count);
Assert.AreEqual(ConfigurationManager.AppSettings["nexmo_number"], response.numbers[0].msisdn);
Assert.AreEqual(Configuration.Instance.Settings["nexmo_number"], response.numbers[0].msisdn);
}
}
}
11 changes: 5 additions & 6 deletions Nexmo.Api.Test.Integration/CallTest.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System.Configuration;
using Nexmo.Api.Voice;
using Nexmo.Api.Voice;
using NUnit.Framework;

namespace Nexmo.Api.Test.Integration
Expand All @@ -17,13 +16,13 @@ public void should_call()
new Call.Endpoint
{
type = "phone",
number = ConfigurationManager.AppSettings["test_number"]
number = Configuration.Instance.Settings["test_number"]
}
},
from = new Call.Endpoint
{
type = "phone",
number = ConfigurationManager.AppSettings["nexmo_number"]
number = Configuration.Instance.Settings["nexmo_number"]
},
answer_url = new[]
{
Expand Down Expand Up @@ -69,13 +68,13 @@ public void should_call_then_stream_then_end_stream()
new Call.Endpoint
{
type = "phone",
number = ConfigurationManager.AppSettings["test_number"]
number = Configuration.Instance.Settings["test_number"]
}
},
from = new Call.Endpoint
{
type = "phone",
number = ConfigurationManager.AppSettings["nexmo_number"]
number = Configuration.Instance.Settings["nexmo_number"]
},
answer_url = new[]
{
Expand Down
61 changes: 52 additions & 9 deletions Nexmo.Api.Test.Integration/Nexmo.Api.Test.Integration.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -51,13 +51,59 @@
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
</PropertyGroup>
<ItemGroup>
<Reference Include="jose-jwt, Version=2.0.1.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\jose-jwt.2.0.1\lib\net40\jose-jwt.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Extensions.Configuration, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Configuration.1.0.0\lib\netstandard1.1\Microsoft.Extensions.Configuration.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Extensions.Configuration.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Configuration.Abstractions.1.0.0\lib\netstandard1.0\Microsoft.Extensions.Configuration.Abstractions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Extensions.Configuration.FileExtensions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Configuration.FileExtensions.1.0.0\lib\net451\Microsoft.Extensions.Configuration.FileExtensions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Extensions.Configuration.Json, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Configuration.Json.1.0.0\lib\net451\Microsoft.Extensions.Configuration.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Extensions.FileProviders.Abstractions, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.FileProviders.Abstractions.1.0.0\lib\netstandard1.0\Microsoft.Extensions.FileProviders.Abstractions.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Extensions.FileProviders.Physical, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.FileProviders.Physical.1.0.0\lib\net451\Microsoft.Extensions.FileProviders.Physical.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Extensions.FileSystemGlobbing, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.FileSystemGlobbing.1.0.0\lib\net451\Microsoft.Extensions.FileSystemGlobbing.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Microsoft.Extensions.Primitives, Version=1.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Primitives.1.0.0\lib\netstandard1.0\Microsoft.Extensions.Primitives.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Newtonsoft.Json, Version=9.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="Nexmo.Api, Version=2.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Nexmo.Csharp.Client.2.0.0\lib\net452\Nexmo.Api.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="nunit.framework, Version=3.2.0.0, Culture=neutral, PublicKeyToken=2638cd05610744eb, processorArchitecture=MSIL">
<HintPath>..\packages\NUnit.3.2.0\lib\net45\nunit.framework.dll</HintPath>
<Private>True</Private>
</Reference>
<Reference Include="System" />
<Reference Include="System.Configuration" />
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.Core" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
Expand All @@ -77,17 +123,14 @@
<Compile Include="Properties\AssemblyInfo.cs" />
</ItemGroup>
<ItemGroup>
<None Include="..\Nexmo.Api.Test.Unit\App.config">
<Link>App.config</Link>
<None Include="..\Nexmo.Api.Test.Unit\settings.json">
<Link>settings.json</Link>
</None>
<None Include="..\Nexmo.Api.Test.Unit\settings.json.example">
<Link>settings.json.example</Link>
</None>
<None Include="packages.config" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Nexmo.Api\Nexmo.Api.csproj">
<Project>{EE7DA727-2AE3-4C76-809A-56B7433004FE}</Project>
<Name>Nexmo.Api</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
Expand Down
11 changes: 5 additions & 6 deletions Nexmo.Api.Test.Integration/NumberInsightTest.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System.Configuration;
using NUnit.Framework;
using NUnit.Framework;

namespace Nexmo.Api.Test.Integration
{
Expand All @@ -11,10 +10,10 @@ public void should_send_basic_ni_request()
{
var result = NumberInsight.RequestBasic(new NumberInsight.NumberInsightBasicRequest
{
number = ConfigurationManager.AppSettings["test_number"]
number = Configuration.Instance.Settings["test_number"]
});
Assert.AreEqual("0", result.status);
Assert.AreEqual(ConfigurationManager.AppSettings["test_number"], result.international_format_number);
Assert.AreEqual(Configuration.Instance.Settings["test_number"], result.international_format_number);
Assert.AreEqual("(555) 555-1212", result.national_format_number);

}
Expand All @@ -24,10 +23,10 @@ public void should_send_standard_ni_request()
{
var result = NumberInsight.RequestStandard(new NumberInsight.NumberInsightBasicRequest()
{
number = ConfigurationManager.AppSettings["test_number"]
number = Configuration.Instance.Settings["test_number"]
});
Assert.AreEqual("0", result.status);
Assert.AreEqual(ConfigurationManager.AppSettings["test_number"], result.international_format_number);
Assert.AreEqual(Configuration.Instance.Settings["test_number"], result.international_format_number);
Assert.AreEqual("(555) 555-1212", result.national_format_number);
Assert.AreEqual("Verizon Wireless", result.current_carrier.name);
}
Expand Down
1 change: 0 additions & 1 deletion Nexmo.Api.Test.Integration/NumberTest.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System.Linq;
using System.Net;
using NUnit.Framework;

namespace Nexmo.Api.Test.Integration
Expand Down
4 changes: 2 additions & 2 deletions Nexmo.Api.Test.Integration/Properties/AssemblyInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,5 @@
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
[assembly: AssemblyVersion("2.0.0.0")]
[assembly: AssemblyFileVersion("2.0.0.0")]
7 changes: 3 additions & 4 deletions Nexmo.Api.Test.Integration/SearchTest.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System.Configuration;
using NUnit.Framework;
using NUnit.Framework;

namespace Nexmo.Api.Test.Integration
{
Expand All @@ -21,7 +20,7 @@ public void should_get_messages()
var msgs = Search.GetMessages(new Search.SearchRequest
{
date = "2015-12-31",
to = ConfigurationManager.AppSettings["nexmo_number"]
to = Configuration.Instance.Settings["nexmo_number"]
});

Assert.AreEqual(1, msgs.count);
Expand All @@ -33,7 +32,7 @@ public void should_get_rejections()
var msgs = Search.GetRejections(new Search.SearchRequest
{
date = "2015-12-31",
to = ConfigurationManager.AppSettings["nexmo_number"]
to = Configuration.Instance.Settings["nexmo_number"]
});

Assert.AreEqual(1, msgs.count);
Expand Down
5 changes: 2 additions & 3 deletions Nexmo.Api.Test.Integration/ShortCodeTest.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System.Collections.Generic;
using System.Configuration;
using NUnit.Framework;

namespace Nexmo.Api.Test.Integration
Expand All @@ -12,7 +11,7 @@ public void should_initiate_2fa()
{
var response = ShortCode.RequestTwoFactorAuth(new ShortCode.TwoFactorAuthRequest
{
to = ConfigurationManager.AppSettings["test_number"],
to = Configuration.Instance.Settings["test_number"],
pin = 1467
});
Assert.AreEqual("1", response.message_count);
Expand All @@ -23,7 +22,7 @@ public void should_initiate_alert()
{
var response = ShortCode.RequestAlert(new ShortCode.AlertRequest
{
to = ConfigurationManager.AppSettings["test_number"],
to = Configuration.Instance.Settings["test_number"],
}, new Dictionary<string, string>
{
{"mcount", "xyz123"}
Expand Down
9 changes: 4 additions & 5 deletions Nexmo.Api.Test.Integration/SmsTest.cs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
using System.Configuration;
using NUnit.Framework;
using NUnit.Framework;

namespace Nexmo.Api.Test.Integration
{
Expand All @@ -11,11 +10,11 @@ public void should_send_sms()
{
var results = SMS.Send(new SMS.SMSRequest
{
from = ConfigurationManager.AppSettings["nexmo_number"],
to = ConfigurationManager.AppSettings["test_number"],
from = Configuration.Instance.Settings["nexmo_number"],
to = Configuration.Instance.Settings["test_number"],
text = "this is a test"
});
Assert.AreEqual(ConfigurationManager.AppSettings["test_number"], results.messages[0].to);
Assert.AreEqual(Configuration.Instance.Settings["test_number"], results.messages[0].to);
Assert.AreEqual("0", results.messages[0].status);
}
}
Expand Down
21 changes: 21 additions & 0 deletions Nexmo.Api.Test.Integration/packages.config
Original file line number Diff line number Diff line change
@@ -1,4 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="jose-jwt" version="2.0.1" targetFramework="net452" />
<package id="Microsoft.Extensions.Configuration" version="1.0.0" targetFramework="net452" />
<package id="Microsoft.Extensions.Configuration.Abstractions" version="1.0.0" targetFramework="net452" />
<package id="Microsoft.Extensions.Configuration.FileExtensions" version="1.0.0" targetFramework="net452" />
<package id="Microsoft.Extensions.Configuration.Json" version="1.0.0" targetFramework="net452" />
<package id="Microsoft.Extensions.FileProviders.Abstractions" version="1.0.0" targetFramework="net452" />
<package id="Microsoft.Extensions.FileProviders.Physical" version="1.0.0" targetFramework="net452" />
<package id="Microsoft.Extensions.FileSystemGlobbing" version="1.0.0" targetFramework="net452" />
<package id="Microsoft.Extensions.Primitives" version="1.0.0" targetFramework="net452" />
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net452" />
<package id="Nexmo.Csharp.Client" version="2.0.0" targetFramework="net452" />
<package id="NUnit" version="3.2.0" targetFramework="net452" />
<package id="System.Collections" version="4.0.11" targetFramework="net452" />
<package id="System.Diagnostics.Debug" version="4.0.11" targetFramework="net452" />
<package id="System.IO" version="4.1.0" targetFramework="net452" />
<package id="System.Linq" version="4.1.0" targetFramework="net452" />
<package id="System.Net.Http" version="4.0.0" targetFramework="net452" />
<package id="System.Resources.ResourceManager" version="4.0.1" targetFramework="net452" />
<package id="System.Runtime" version="4.1.0" targetFramework="net452" />
<package id="System.Runtime.Extensions" version="4.1.0" targetFramework="net452" />
<package id="System.Runtime.InteropServices" version="4.1.0" targetFramework="net452" />
<package id="System.Threading" version="4.0.11" targetFramework="net452" />
</packages>
Loading

0 comments on commit 1c048b3

Please sign in to comment.