Browse Source
Fixed CSHARP-269. MongoGridFS.EnsureIndexes now checks actual server instance (if a RequestStart is in scope) to see if it is a primary. MongoGridFS.Download now actually uses slaveOk from database.Settings. Added overload of RequestStart with slaveOk parameter. Added RequestConnection property to MongoServer that can be used to get the actual connection reserved by RequestStart. Made get accessors of MongoConnection properties public so client code can get information about a connection.
pull/63/head
Fixed CSHARP-269. MongoGridFS.EnsureIndexes now checks actual server instance (if a RequestStart is in scope) to see if it is a primary. MongoGridFS.Download now actually uses slaveOk from database.Settings. Added overload of RequestStart with slaveOk parameter. Added RequestConnection property to MongoServer that can be used to get the actual connection reserved by RequestStart. Made get accessors of MongoConnection properties public so client code can get information about a connection.
pull/63/head

8 changed files with 186 additions and 20 deletions
-
2Bson/IO/JsonWriter.cs
-
15Driver/Core/MongoDatabase.cs
-
52Driver/Core/MongoServer.cs
-
18Driver/GridFS/MongoGridFS.cs
-
2Driver/GridFS/MongoGridFSFileInfo.cs
-
56Driver/Internal/MongoConnection.cs
-
1DriverOnlineTests/DriverOnlineTests.csproj
-
60DriverOnlineTests/Jira/CSharp269Tests.cs
@ -0,0 +1,60 @@ |
|||
/* Copyright 2010-2011 10gen Inc. |
|||
* |
|||
* Licensed under the Apache License, Version 2.0 (the "License"); |
|||
* you may not use this file except in compliance with the License. |
|||
* You may obtain a copy of the License at |
|||
* |
|||
* http://www.apache.org/licenses/LICENSE-2.0
|
|||
* |
|||
* Unless required by applicable law or agreed to in writing, software |
|||
* distributed under the License is distributed on an "AS IS" BASIS, |
|||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|||
* See the License for the specific language governing permissions and |
|||
* limitations under the License. |
|||
*/ |
|||
|
|||
using System; |
|||
using System.Collections; |
|||
using System.Collections.Generic; |
|||
using System.IO; |
|||
using System.Linq; |
|||
using System.Runtime.Serialization; |
|||
using System.Text; |
|||
using NUnit.Framework; |
|||
|
|||
using MongoDB.Bson; |
|||
using MongoDB.Bson.Serialization.Attributes; |
|||
using MongoDB.Driver; |
|||
using MongoDB.Driver.Builders; |
|||
|
|||
namespace MongoDB.DriverOnlineTests.Jira.CSharp269 { |
|||
[TestFixture] |
|||
public class CSharp269Tests { |
|||
private MongoServer server; |
|||
private MongoDatabase database; |
|||
|
|||
[TestFixtureSetUp] |
|||
public void TestFixtureSetup() { |
|||
server = MongoServer.Create("mongodb://localhost/?safe=true;slaveOk=true"); |
|||
database = server["onlinetests"]; |
|||
database.GridFS.Files.Drop(); |
|||
database.GridFS.Chunks.Drop(); |
|||
} |
|||
|
|||
[Test] |
|||
public void TestUploadAndDownload() { |
|||
var text = "HelloWorld"; |
|||
var bytes = Encoding.UTF8.GetBytes(text); |
|||
using (var stream = new MemoryStream(bytes)) { |
|||
database.GridFS.Upload(stream, "HelloWorld.txt"); |
|||
} |
|||
|
|||
using (var stream = new MemoryStream()) { |
|||
database.GridFS.Download(stream, "HelloWorld.txt"); |
|||
var downloadedBytes = stream.ToArray(); |
|||
var downloadedText = Encoding.UTF8.GetString(downloadedBytes); |
|||
Assert.AreEqual("HelloWorld", downloadedText); |
|||
} |
|||
} |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue