using System; using System.Collections.Generic; using System.IO; using System.IO.Compression; using System.Linq; using System.Net; using System.Text; using System.Threading; using Microsoft.VisualStudio.TestTools.UnitTesting; using Amazon.S3; using Amazon.S3.Model; using Amazon.S3.Util; using Amazon.Runtime; using Amazon.Runtime.Internal.Util; using AWSSDK_DotNet.IntegrationTests.Utils; namespace AWSSDK_DotNet.IntegrationTests.Tests.S3 { /// /// Summary description for PutObjectTest /// [TestClass] public class GetObjectTests : TestBase { private const string content = "0123456789"; private static string bucketName; [ClassInitialize()] public static void Initialize(TestContext a) { bucketName = S3TestUtils.CreateBucketWithWait(Client); Client.PutObject(new PutObjectRequest { BucketName = bucketName, ContentBody = content, Key = "TestObject" }); } [ClassCleanup] public static void ClassCleanup() { AmazonS3Util.DeleteS3BucketWithObjects(Client, bucketName); BaseClean(); } [TestMethod] [TestCategory("S3")] public void TestRangedGetWithStartAndEnd() { var response = Client.GetObject(new GetObjectRequest { BucketName = bucketName, ByteRange = new ByteRange(1, 5), Key = "TestObject" }); using (response.ResponseStream) { using (var reader = new StreamReader(response.ResponseStream)) { var text = reader.ReadToEnd(); Assert.AreEqual("12345", text); } } } [TestMethod] [TestCategory("S3")] public void TestRangedGetWithByteRange() { var response = Client.GetObject(new GetObjectRequest { BucketName = bucketName, ByteRange = new ByteRange("bytes=-2"), Key = "TestObject" }); using (response.ResponseStream) { using (var reader = new StreamReader(response.ResponseStream)) { var text = reader.ReadToEnd(); Assert.AreEqual("89", text); } } } [TestMethod] [TestCategory("S3")] public void TestObjectAttributesLastModified() { var getObjectAttributesResponse = Client.GetObjectAttributes(new GetObjectAttributesRequest { BucketName = bucketName, Key = "TestObject", ObjectAttributes = new List { ObjectAttributes.ObjectSize } }); var getObjectMetadataResponse = Client.GetObjectMetadata(new GetObjectMetadataRequest { BucketName = bucketName, Key = "TestObject" }); Assert.AreNotEqual(getObjectAttributesResponse.LastModified, DateTime.MinValue); Assert.AreEqual(getObjectAttributesResponse.LastModified, getObjectMetadataResponse.LastModified); } } }