Exemplo n.º 1
0
    public void BuildQueryBuildsQueryWithFromAndToTest()
    {
        MongoDataSource_Accessor target = new MongoDataSource_Accessor();

        string fieldName = "field1";
        string fromVal = "fromval";
        string toVal = "toval";

        IMongoQuery query = target.BuildQuery(fieldName, fromVal, toVal);

        Assert.AreEqual("{ \"" + fieldName + "\" : { \"$gte\" : \"" + fromVal + "\", \"$lte\" : \"" + toVal + "\" } }", query.ToString());
    }
Exemplo n.º 2
0
    public void AddCustomPropertiesTest()
    {
        MongoDataSource_Accessor target = new MongoDataSource_Accessor();

        IDTSCustomPropertyCollection100 customPropertyCollection = Mock.Create<IDTSCustomPropertyCollection100>();

        IDTSCustomProperty100 collectionNameProp = Mock.Create<IDTSCustomProperty100>();
        IDTSCustomProperty100 conditionalFieldProp = Mock.Create<IDTSCustomProperty100>();
        IDTSCustomProperty100 fromValueProp = Mock.Create<IDTSCustomProperty100>();
        IDTSCustomProperty100 toValueProp = Mock.Create<IDTSCustomProperty100>();
        IDTSCustomProperty100 queryProp = Mock.Create<IDTSCustomProperty100>();

        Mock.Arrange(() => customPropertyCollection.New()).Returns(collectionNameProp).InSequence();
        Mock.Arrange(() => customPropertyCollection.New()).Returns(conditionalFieldProp).InSequence();
        Mock.Arrange(() => customPropertyCollection.New()).Returns(fromValueProp).InSequence();
        Mock.Arrange(() => customPropertyCollection.New()).Returns(toValueProp).InSequence();
        Mock.Arrange(() => customPropertyCollection.New()).Returns(queryProp).InSequence();

        assertSetPropertyNameAndDescription(collectionNameProp, MongoDataSource_Accessor.COLLECTION_NAME_PROP_NAME);
        Mock.ArrangeSet(() => collectionNameProp.UITypeEditor = Arg.Matches<string>(x => x == typeof(CollectionNameEditor).AssemblyQualifiedName));

        assertSetPropertyNameAndDescription(conditionalFieldProp, MongoDataSource_Accessor.CONDITIONAL_FIELD_PROP_NAME);
        assertSetPropertyNameAndDescription(fromValueProp, MongoDataSource_Accessor.CONDITION_FROM_PROP_NAME);
        assertSetPropertyNameAndDescription(toValueProp, MongoDataSource_Accessor.CONDITION_TO_PROP_NAME);
        assertSetPropertyNameAndDescription(queryProp, MongoDataSource_Accessor.CONDITION_DOC_PROP_NAME);

        target.AddCustomProperties(customPropertyCollection);

        Mock.Assert(() => customPropertyCollection.New(), Occurs.Exactly(5));

        Mock.Assert(collectionNameProp);
        Mock.Assert(conditionalFieldProp);
        Mock.Assert(fromValueProp);
        Mock.Assert(toValueProp);
        Mock.Assert(queryProp);
    }
Exemplo n.º 3
0
    private void CheckForCorrectDataTypeFromBson(BsonValue bsonValue, DataType dataType, object expectedValue)
    {
        MongoDataSource_Accessor target = new MongoDataSource_Accessor();

        object actual = target.GetDataTypeValueFromBsonValue(bsonValue, dataType);
        Assert.AreEqual(expectedValue, actual);
    }
Exemplo n.º 4
0
 private void CheckForCorrectColumnDataType(BsonValue value, DataType dt)
 {
     MongoDataSource_Accessor target = new MongoDataSource_Accessor();
     Assert.AreEqual(dt, target.GetColumnDataType(value));
 }
Exemplo n.º 5
0
    public void TestReleaseConnectionsDelegatesToConnectionManager()
    {
        MongoDataSource_Accessor target = new MongoDataSource_Accessor();

        IDTSConnectionManager100 connManager = Mock.Create<IDTSConnectionManager100>(Constructor.Mocked);
        target.m_ConnMgr = connManager;

        MongoDatabase mockedDb = Mock.Create<MongoDatabase>(Constructor.Mocked);
        target.database = mockedDb;

        target.ReleaseConnections();

        Mock.Assert(() => connManager.ReleaseConnection(mockedDb));
    }
Exemplo n.º 6
0
    public void TestBuildOutputColumn(String elementname, BsonValue bsonValue, DataType expectedDataType, int length, int codepage)
    {
        MongoDataSource_Accessor target = new MongoDataSource_Accessor();

        IDTSOutputColumnCollection100 outputCollection = Mock.Create<IDTSOutputColumnCollection100>(Constructor.Mocked);

        IDTSOutputColumn100 expected = Mock.Create<IDTSOutputColumn100>(Constructor.Mocked);

        Mock.Arrange(() => outputCollection.New()).Returns(expected);

        BsonElement el = new BsonElement(elementname, bsonValue);
        Mock.ArrangeSet(() => expected.Name = Arg.Matches<String>(x => x == elementname));

        IDTSOutputColumn100 actual = target.BuildOutputColumn(outputCollection, el);

        Mock.Assert(() => expected.SetDataTypeProperties(expectedDataType, length, 0, 0, codepage));
    }
Exemplo n.º 7
0
    public void PopulateExternalMetadataColumnTest()
    {
        MongoDataSource_Accessor target = new MongoDataSource_Accessor();

        IDTSOutputColumn100 outputColumn = Mock.Create<IDTSOutputColumn100>(Constructor.Mocked);

        String expectedName = "name";
        int expectedPrecision = 1;
        int expectedLength = 2;
        int expectedScale = 3;
        DataType expectedDataType = DataType.DT_TEXT;

        Mock.Arrange(() => outputColumn.Name).Returns(expectedName);
        Mock.Arrange(() => outputColumn.Precision).Returns(expectedPrecision);
        Mock.Arrange(() => outputColumn.Length).Returns(expectedLength);
        Mock.Arrange(() => outputColumn.DataType).Returns(expectedDataType);
        Mock.Arrange(() => outputColumn.Scale).Returns(expectedScale);

        IDTSExternalMetadataColumn100 expected = Mock.Create<IDTSExternalMetadataColumn100>(Constructor.Mocked);

        Mock.ArrangeSet(() => expected.Name = Arg.Matches<String>(x => x == expectedName)).OccursOnce();
        Mock.ArrangeSet(() => expected.Precision = Arg.Matches<int>(x => x == expectedPrecision)).OccursOnce();
        Mock.ArrangeSet(() => expected.Length = Arg.Matches<int>(x => x == expectedLength)).OccursOnce();
        Mock.ArrangeSet(() => expected.DataType = Arg.Matches<DataType>(x => x == expectedDataType)).OccursOnce();
        Mock.ArrangeSet(() => expected.Scale = Arg.Matches<int>(x => x == expectedScale)).OccursOnce();

        target.PopulateExternalMetadataColumn(expected, outputColumn);

        Mock.Assert(expected);
    }
Exemplo n.º 8
0
    public void ParseConditionValueForYesterdayTest()
    {
        MongoDataSource_Accessor target = new MongoDataSource_Accessor();

        object parsedValue = target.ParseConditionValue("yesterday", DataType.DT_DATE);

        Assert.AreEqual(DateTime.Now.AddDays(-1).ToLongDateString(), ((BsonDateTime)parsedValue).AsDateTime.ToLongDateString());
    }
Exemplo n.º 9
0
    public void ParseConditionValueForStringTest()
    {
        MongoDataSource_Accessor target = new MongoDataSource_Accessor();

        string value = "blah";
        object parsedValue = target.ParseConditionValue(value, DataType.DT_STR);

        Assert.AreEqual(new BsonString(value), parsedValue);
    }
Exemplo n.º 10
0
    public void ParseConditionValueForSimpleDateTest()
    {
        MongoDataSource_Accessor target = new MongoDataSource_Accessor();

        String value = "12/12/2012";

        object parsedValue = target.ParseConditionValue(value, DataType.DT_DATE);

        Assert.AreEqual(DateTime.Parse(value).ToLongDateString(),((BsonDateTime)parsedValue).AsDateTime.ToLongDateString());
    }
Exemplo n.º 11
0
    public void ParseConditionValueForNowTest()
    {
        MongoDataSource_Accessor target = new MongoDataSource_Accessor();

        object parsedValue = target.ParseConditionValue("now", DataType.DT_DATE);

        Assert.IsTrue(parsedValue is BsonDateTime);

        Assert.AreEqual(DateTime.Now.ToLongDateString(), ((BsonDateTime)parsedValue).AsDateTime.ToLongDateString());
    }
Exemplo n.º 12
0
    public void ParseConditionValueForIntTest()
    {
        MongoDataSource_Accessor target = new MongoDataSource_Accessor();

        string value = "123";
        BsonInt64 expected = new BsonInt64(Int64.Parse(value));
        object parsedValue = target.ParseConditionValue(value, DataType.DT_I8);

        Assert.AreEqual(expected, parsedValue);

        parsedValue = target.ParseConditionValue(value, DataType.DT_I4);

        Assert.AreEqual(expected, parsedValue);
    }
Exemplo n.º 13
0
    public void ParseConditionValueForDoubleTest()
    {
        MongoDataSource_Accessor target = new MongoDataSource_Accessor();

        string value = "12.34";
        BsonDouble expected = new BsonDouble(Double.Parse(value));
        object parsedValue = target.ParseConditionValue(value, DataType.DT_R8);

        Assert.AreEqual(expected, parsedValue);

        parsedValue = target.ParseConditionValue(value, DataType.DT_R4);

        Assert.AreEqual(expected, parsedValue);
    }