Skip to content

Commit

Permalink
Merge pull request #150 from fengyhack/master
Browse files Browse the repository at this point in the history
版本更新v7.2.11,新增MSTest for UWP
  • Loading branch information
fengyhack committed Feb 16, 2017
2 parents c480550 + 9366238 commit 5c9b8b5
Show file tree
Hide file tree
Showing 44 changed files with 17,100 additions and 110 deletions.
12 changes: 12 additions & 0 deletions CHANGELOG.md
@@ -1,3 +1,15 @@
**2017-02-16**

最新版本v7.2.11,适用于.NET Framework 2.0+ , .NET Core 和 UWP

新增:适用于UWP的MSTest单元测试

修复:FormUploader.UploadDataAsync()的已知bug

修复:Qiniu.Util.UrlHelper中URL拆分函数的bug

* * *

**2017-02-15**

最新版本v7.2.10,适用于.NET Framework 2.0+ , .NET Core 和 UWP
Expand Down
7 changes: 4 additions & 3 deletions README.en-US.md
Expand Up @@ -10,15 +10,15 @@ This C# SDK is built based on Qiniu Cloud API (see below), and it can be used on

You can have a better view of this SDK by checking the documnets given below:

* [SDK-reference HTML Online](http://oiy037d6a.bkt.clouddn.com/csharp-sdk-ref-v7.2.10/index.html)
* [SDK-reference HTML Online](http://oiy037d6a.bkt.clouddn.com/csharp-sdk-ref-v7.2.11/index.html)

* [SDK-reference CHM Offline](http://oiy037d6a.bkt.clouddn.com/QiniuCSharpSDK-Ref-v7.2.10.chm)
* [SDK-reference CHM Offline](http://oiy037d6a.bkt.clouddn.com/QiniuCSharpSDK-Ref-v7.2.11.chm)

Want to know more about how to using this SDK? Are you trying to find some code examples based on this SDK? These documents or links below will be helpful:

* [github/csharp-sdk-shared-examples](https://github.com/fengyhack/csharp-sdk-shared-examples)

* [SDK manual | examples](http://oiy037d6a.bkt.clouddn.com/csharp-sdk-man-v7.2.10/index.html)
* [SDK manual | examples](http://oiy037d6a.bkt.clouddn.com/csharp-sdk-man-v7.2.11/index.html)

Or if you want to develop **UWP apps**, see example(s) given below.

Expand Down Expand Up @@ -53,6 +53,7 @@ Suppose you are using Visual Studio(VS2013 and higher versions are strongly reco
| Windows10 UWP | Qiniu.UWP.sln |
| All the above | Qiniu.ALL_VER.sln |
| UnitTest(NUnit) | Qiniu.UnitTest.sln |
| UnitTest(for UWP) | Qiniu.MSTest.sln |

**Some details about building NetCore/UWP projects**

Expand Down
7 changes: 4 additions & 3 deletions README.md
Expand Up @@ -10,15 +10,15 @@

以下文档用于检索SDK接口、属性说明,它将有助于您理解SDK的结构。

* [HTML在线浏览](http://oiy037d6a.bkt.clouddn.com/csharp-sdk-ref-v7.2.10/index.html)
* [HTML在线浏览](http://oiy037d6a.bkt.clouddn.com/csharp-sdk-ref-v7.2.11/index.html)

* [CHM文件下载](http://oiy037d6a.bkt.clouddn.com/QiniuCSharpSDK-Ref-v7.2.10.chm)
* [CHM文件下载](http://oiy037d6a.bkt.clouddn.com/QiniuCSharpSDK-Ref-v7.2.11.chm)

以下文档/链接提供一些基本示例,参考这些示例可以帮助您更快熟悉如何使用这套SDK。

* [github | csharp-sdk-examples](https://github.com/fengyhack/csharp-sdk-examples)

* [C# SDK使用指南 | 代码示例](http://oiy037d6a.bkt.clouddn.com/csharp-sdk-man-v7.2.10/index.html)
* [C# SDK使用指南 | 代码示例](http://oiy037d6a.bkt.clouddn.com/csharp-sdk-man-v7.2.11/index.html)

如果您想开发**UWP应用**,您也可以参考如下示例。

Expand Down Expand Up @@ -69,6 +69,7 @@ git clone https://github.com/qiniu/csharp-sdk
| Win10 UWP| Qiniu.UWP.sln |
| 以上全部 | Qiniu.ALL_VER.sln |
| 单元测试(NUnit) | Qiniu.UnitTest.sln |
| 单元测试(for UWP) | Qiniu.MSTest.sln |

**注意**

Expand Down
Binary file removed bin/qiniu-csharp-sdk-v7.2.10.zip
Binary file not shown.
Binary file added bin/qiniu-csharp-sdk-v7.2.11.zip
Binary file not shown.
8 changes: 3 additions & 5 deletions doc/README.html
Expand Up @@ -46,23 +46,21 @@ <h2 id="sdk文档">SDK文档</h2>

<p>以下文档用于检索SDK接口、属性说明,它将有助于您理解SDK的结构。</p>

<ul><li><p><a href="http://oiy037d6a.bkt.clouddn.com/csharp-sdk-ref-v7.2.10/index.html" target="_blank">HTML在线浏览</a></p></li>
<li><p><a href="http://oiy037d6a.bkt.clouddn.com/QiniuCSharpSDK-Ref-v7.2.10.chm" target="_blank">CHM文件下载</a></p></li>
<ul><li><p><a href="http://oiy037d6a.bkt.clouddn.com/csharp-sdk-ref-v7.2.11/index.html" target="_blank">HTML在线浏览</a></p></li>
<li><p><a href="http://oiy037d6a.bkt.clouddn.com/QiniuCSharpSDK-Ref-v7.2.11.chm" target="_blank">CHM文件下载</a></p></li>
</ul>

<p>以下文档/链接提供一些基本示例,参考这些示例可以帮助您更快熟悉如何使用这套SDK。</p>

<ul><li><p><a href="https://github.com/fengyhack/csharp-sdk-examples" target="_blank">github | csharp-sdk-examples</a></p></li>
<li><p><a href="http://oiy037d6a.bkt.clouddn.com/csharp-sdk-man-v7.2.10/index.html" target="_blank">C# SDK使用指南 | 代码示例</a></p></li>
<li><p><a href="http://oiy037d6a.bkt.clouddn.com/csharp-sdk-man-v7.2.11/index.html" target="_blank">C# SDK使用指南 | 代码示例</a></p></li>
</ul>

<p>如果您想开发<strong>UWP应用</strong>,您也可以参考如下示例。</p>

<ul><li><a href="https://github.com/fengyhack/csharp-sdk-example-uwp" target="_blank">github | csharp-sdk-example-uwp</a></li>
</ul>



<h2 id="如何安装">如何安装</h2>

<p>当前最新版本及最新改动同步在master分支。</p>
Expand Down
Binary file modified doc/README.pdf
Binary file not shown.
40 changes: 40 additions & 0 deletions src/Qiniu.MSTest.sln
@@ -0,0 +1,40 @@

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}") = "Qiniu.MSTest", "Qiniu.MSTest\Qiniu.MSTest.csproj", "{766DB66F-659B-4AB1-8142-65E7F462EEE6}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|ARM = Debug|ARM
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|ARM = Release|ARM
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Debug|ARM.ActiveCfg = Debug|ARM
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Debug|ARM.Build.0 = Debug|ARM
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Debug|ARM.Deploy.0 = Debug|ARM
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Debug|x64.ActiveCfg = Debug|x64
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Debug|x64.Build.0 = Debug|x64
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Debug|x64.Deploy.0 = Debug|x64
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Debug|x86.ActiveCfg = Debug|x86
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Debug|x86.Build.0 = Debug|x86
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Debug|x86.Deploy.0 = Debug|x86
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Release|ARM.ActiveCfg = Release|ARM
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Release|ARM.Build.0 = Release|ARM
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Release|ARM.Deploy.0 = Release|ARM
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Release|x64.ActiveCfg = Release|x64
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Release|x64.Build.0 = Release|x64
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Release|x64.Deploy.0 = Release|x64
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Release|x86.ActiveCfg = Release|x86
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Release|x86.Build.0 = Release|x86
{766DB66F-659B-4AB1-8142-65E7F462EEE6}.Release|x86.Deploy.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added src/Qiniu.MSTest/Assets/StoreLogo.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
198 changes: 198 additions & 0 deletions src/Qiniu.MSTest/BucketManagerTest.cs
@@ -0,0 +1,198 @@
using System.Threading.Tasks;
using Microsoft.VisualStudio.TestPlatform.UnitTestFramework;
using Qiniu.Util;
using Qiniu.Http;
using Qiniu.RS;
using Qiniu.RS.Model;

namespace Qiniu.UnitTest
{
[TestClass]
public class BucketManagerTest:QiniuTestEnvars
{
[TestMethod]
public async Task StatTest()
{
Mac mac = new Mac(AccessKey, SecretKey);
BucketManager target = new BucketManager(mac);
StatResult result = await target.StatAsync(Bucket1, FileKey1);

bool cond = (result.Code == (int)HttpCode.OK ||
result.Code == (int)HttpCode.BUCKET_NOT_EXIST ||
result.Code == (int)HttpCode.FILE_NOT_EXIST);

Assert.IsTrue(cond);
}

[TestMethod]
public async Task CopyTest()
{
Mac mac = new Mac(AccessKey, SecretKey);
BucketManager target = new BucketManager(mac);

HttpResult result = await target.CopyAsync(Bucket1, FileKey1, Bucket2, FileKey2, true);

bool cond = (result.Code == (int)HttpCode.OK ||
result.Code == (int)HttpCode.BUCKET_NOT_EXIST ||
result.Code == (int)HttpCode.FILE_NOT_EXIST);

Assert.IsTrue(cond);
}

[TestMethod]
public async Task MoveTest()
{
Mac mac = new Mac(AccessKey, SecretKey);
BucketManager target = new BucketManager(mac);

HttpResult result = await target.MoveAsync(Bucket1, FileKey1, Bucket2, FileKey2, true);

bool cond = (result.Code == (int)HttpCode.OK ||
result.Code == (int)HttpCode.BUCKET_NOT_EXIST ||
result.Code == (int)HttpCode.FILE_NOT_EXIST);

Assert.IsTrue(cond);
}

[TestMethod]
public async Task DeleteTest()
{
Mac mac = new Mac(AccessKey, SecretKey);
BucketManager target = new BucketManager(mac);

HttpResult result = await target.DeleteAsync(Bucket1, FileKey1);

bool cond = (result.Code == (int)HttpCode.OK ||
result.Code == (int)HttpCode.BUCKET_NOT_EXIST ||
result.Code == (int)HttpCode.FILE_NOT_EXIST);

Assert.IsTrue(cond);
}

[TestMethod]
public async Task ChgmTest()
{
Mac mac = new Mac(AccessKey, SecretKey);
BucketManager target = new BucketManager(mac);

HttpResult result = await target.ChgmAsync(Bucket1, FileKey1, "MimeType");

bool cond = (result.Code == (int)HttpCode.OK ||
result.Code == (int)HttpCode.BUCKET_NOT_EXIST ||
result.Code == (int)HttpCode.FILE_NOT_EXIST);

Assert.IsTrue(cond);
}

[TestMethod]
public async Task BucketTest()
{
Mac mac = new Mac(AccessKey, SecretKey);
BucketManager target = new BucketManager(mac);

BucketResult result = await target.BucketAsync(Bucket1);

Assert.AreEqual((int)HttpCode.OK, result.Code);
}

[TestMethod]
public async Task BucketsTest()
{
Mac mac = new Mac(AccessKey, SecretKey);
BucketManager target = new BucketManager(mac);

BucketsResult result = await target.BucketsAsync();

Assert.AreEqual((int)HttpCode.OK, result.Code);
}

[TestMethod]
public async Task BatchTest()
{
Mac mac = new Mac(AccessKey, SecretKey);
BucketManager target = new BucketManager(mac);

string s1 = target.StatOp(Bucket1, FileKey1);
string s2 = target.ChgmOp(Bucket2, FileKey2, "MimeType");
string[] ops = new string[] { s1, s2, "OP-UNDEF" };
BatchResult result = await target.BatchAsync(ops);

bool cond = (result.Code == (int)HttpCode.OK ||
result.Code == (int)HttpCode.BAD_REQUEST||
result.Code == (int)HttpCode.PARTLY_OK);

Assert.IsTrue(cond);
}

[TestMethod]
public async Task ListFilesTest()
{
Mac mac = new Mac(AccessKey, SecretKey);
BucketManager target = new BucketManager(mac);

HttpResult result = await target.ListAsync(Bucket1, null, null, 100, null);

Assert.AreEqual((int)HttpCode.OK, result.Code);
}

#if LOCAL_TEST

[TestMethod]
public async Task FetchTest()
{
Mac mac = new Mac(AccessKey, SecretKey);
BucketManager target = new BucketManager(mac);

HttpResult result = await target.FetchAsync(TestURL1, Bucket1, FileKey1);

bool cond = (result.Code == (int)HttpCode.OK ||
result.Code == (int)HttpCode.BUCKET_NOT_EXIST ||
result.Code == (int)HttpCode.FILE_EXISTS);

Assert.IsTrue(cond);
}
#endif

[TestMethod]
public async Task PrefetchTest()
{
Mac mac = new Mac(AccessKey, SecretKey);
BucketManager target = new BucketManager(mac);

HttpResult result = await target.PrefetchAsync(Bucket1, FileKey1);

bool cond = (result.Code == (int)HttpCode.OK ||
result.Code == (int)HttpCode.BUCKET_NOT_EXIST ||
result.Code == (int)HttpCode.BAD_REQUEST);

Assert.IsTrue(cond);
}

[TestMethod]
public async Task UpdateLifecycleTest()
{
Mac mac = new Mac(AccessKey, SecretKey);
BucketManager target = new BucketManager(mac);

HttpResult result = await target.UpdateLifecycleAsync(Bucket1, FileKey1, 1);

bool cond = (result.Code == (int)HttpCode.OK ||
result.Code == (int)HttpCode.BUCKET_NOT_EXIST ||
result.Code == (int)HttpCode.FILE_NOT_EXIST);

Assert.IsTrue(cond);
}

[TestMethod]
public async Task DomainsTest()
{
Mac mac = new Mac(AccessKey, SecretKey);
BucketManager target = new BucketManager(mac);

DomainsResult result = await target.DomainsAsync(Bucket1);

Assert.AreEqual((int)HttpCode.OK, result.Code);
}

}
}

0 comments on commit 5c9b8b5

Please sign in to comment.