public void Create_GivenType_ExpectedType(BucketType bucketType, Type expectedType)
        {
            // Arrange

            var bucketFactory = new BucketFactory(
                new ClusterContext(),
                new Mock <IScopeFactory>().Object,
                new Mock <IRetryOrchestrator>().Object,
                new Mock <IVBucketKeyMapperFactory>().Object,
                new Mock <IKetamaKeyMapperFactory>().Object,
                new Mock <ILogger <CouchbaseBucket> >().Object,
                new Mock <ILogger <MemcachedBucket> >().Object,
                new TypedRedactor(RedactionLevel.None),
                new Mock <IBootstrapperFactory>().Object,
                NoopRequestTracer.Instance,
                new Mock <IOperationConfigurator>().Object,
                new BestEffortRetryStrategy(),
                new Mock <IHttpClusterMapFactory>().Object);

            // Act

            var result = bucketFactory.Create("bucket_name", bucketType, new BucketConfig());

            // Assert

            Assert.IsAssignableFrom(expectedType, result);
            Assert.Equal("bucket_name", result.Name);
        }
        public void Create_UnknownType_ArgumentOutOfRangeException()
        {
            // Arrange

            var bucketFactory = new BucketFactory(
                new ClusterContext(),
                new Mock <IScopeFactory>().Object,
                new Mock <IRetryOrchestrator>().Object,
                new Mock <IVBucketKeyMapperFactory>().Object,
                new Mock <IKetamaKeyMapperFactory>().Object,
                new Mock <ILogger <CouchbaseBucket> >().Object,
                new Mock <ILogger <MemcachedBucket> >().Object,
                new TypedRedactor(RedactionLevel.None),
                new Mock <IBootstrapperFactory>().Object,
                NoopRequestTracer.Instance,
                new Mock <IOperationConfigurator>().Object,
                new BestEffortRetryStrategy(),
                new Mock <IHttpClusterMapFactory>().Object);

            // Act/Assert

            var ex = Assert.Throws <ArgumentOutOfRangeException>(() =>
                                                                 bucketFactory.Create("bucket_name", (BucketType)500, new BucketConfig()));

            Assert.Equal("bucketType", ex.ParamName);
        }
Ejemplo n.º 3
0
        public void Create_GivenType_ExpectedType(BucketType bucketType, Type expectedType)
        {
            // Arrange

            var bucketFactory = new BucketFactory(
                new ClusterContext(),
                new Mock <IScopeFactory>().Object,
                new Mock <IRetryOrchestrator>().Object,
                new Mock <IVBucketKeyMapperFactory>().Object,
                new Mock <IKetamaKeyMapperFactory>().Object,
                new Mock <ILogger <CouchbaseBucket> >().Object,
                new Mock <ILogger <MemcachedBucket> >().Object,
                new Mock <IRedactor>().Object,
                new Mock <IBootstrapperFactory>().Object,
                NullRequestTracer.Instance);

            // Act

            var result = bucketFactory.Create("bucket_name", bucketType);

            // Assert

            Assert.IsAssignableFrom(expectedType, result);
            Assert.Equal("bucket_name", result.Name);
        }
Ejemplo n.º 4
0
        public void Create_UnknownType_ArgumentOutOfRangeException()
        {
            // Arrange

            var bucketFactory = new BucketFactory(
                new ClusterContext(),
                new Mock <IScopeFactory>().Object,
                new Mock <IRetryOrchestrator>().Object,
                new Mock <ILogger <CouchbaseBucket> >().Object,
                new Mock <ILogger <MemcachedBucket> >().Object);

            // Act/Assert

            var ex = Assert.Throws <ArgumentOutOfRangeException>(() =>
                                                                 bucketFactory.Create("bucket_name", (BucketType)500));

            Assert.Equal("bucketType", ex.ParamName);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Use the kusto data reader and build an Elastic response.
        /// </summary>
        /// <param name="query">QueryData containing query information.</param>
        /// <param name="reader">Kusto IDataReader response.</param>
        /// <param name="timeTaken">TimeSpan representing query execution duration.</param>
        /// <param name="isSingleDoc">Indicates whether this was a single document query.</param>
        /// <returns>ElasticResponse object.</returns>
        private ElasticResponse ReadResponse(
            QueryData query,
            IDataReader reader,
            TimeSpan timeTaken)
        {
            var response = new ElasticResponse();

            response.AddTook(timeTaken);

            Logger.LogTrace("Reading response using reader.");
            var parsedKustoResponse = ReadDataResponse(reader);

            if (parsedKustoResponse[AggregationTableName] != null)
            {
                Logger.LogTrace("Parsing aggregations");

                // read aggregations
                foreach (DataRow row in parsedKustoResponse[AggregationTableName].TableData.Rows)
                {
                    var bucket = BucketFactory.CreateFromDataRow(row);
                    response.AddAggregation(bucket);
                }
            }
            else
            {
                // A ViewSingleDocument queries do not produce any aggregations used for total,
                // but Kibana expects this value
                response.AddToTotal(1);
            }

            // read hits
            Logger.LogDebug("Reading Hits using QueryData: {@query}", query.ToSensitiveData());
            var hits = ReadHits(parsedKustoResponse, query);

            response.AddHits(hits);
            if (outputBackendQuery)
            {
                response.AppendBackendQuery(query.QueryCommandText);
            }

            return(response);
        }
        private IBucket createSliceDefs()
        {
            var sd = _resolver.FindStructureDefinition("http://example.com/StructureDefinition/patient-telecom-reslice-ek");

            Assert.NotNull(sd);
            var snapgen = new SnapshotGenerator(_resolver);

            snapgen.Update(sd);

            // sd.Snapshot.Element.Where(e => e.Path.EndsWith(".telecom")).Select(e=>e.Path + " : " + e.Name ?? "").ToArray()

            var nav     = new ElementDefinitionNavigator(sd);
            var success = nav.JumpToFirst("Patient.telecom");

            Assert.True(success);
            //var xml = FhirSerializer.SerializeResourceToXml(sd);
            //File.WriteAllText(@"c:\temp\sdout.xml", xml);

            return(BucketFactory.CreateRoot(nav, _validator));
        }
Ejemplo n.º 7
0
        public CouchbaseSagaRepository(
            ICluster cluster,
            ICouchbaseSagaRepositorySettings <TSaga> settings,
            ILog log)
        {
            this.cluster  = cluster;
            this.settings = settings;
            this.log      = log;

            this.cluster.Configuration.SerializationSettings   = this.settings.SerializationSettings;
            this.cluster.Configuration.DeserializationSettings = this.settings.DeserializationSettings;

            this.bucket = BucketFactory.CreateBucketAndDesignDocument(
                this.cluster,
                this.settings.BucketName,
                this.settings.ServerUsername,
                this.settings.ServerPassword,
                this.settings.DesignDocumentName,
                this.settings.DesignDocument);
        }
Ejemplo n.º 8
0
        public void Create_WithDateTime_ReturnsISOString()
        {
            // Arrange
            DataTable table = new DataTable();

            table.Columns.Add("Timestamp", typeof(DateTime)).DateTimeMode = DataSetDateTime.Utc;
            table.Columns.Add("Count", typeof(int));
            DataRow row = table.NewRow();

            row["Timestamp"] = new DateTime(2017, 1, 2, 13, 4, 5, 60, DateTimeKind.Utc);
            row["Count"]     = 234;

            // Act
            var bucket = BucketFactory.CreateFromDataRow(row);

            // Assert
            Assert.AreEqual("2017-01-02T13:04:05.060Z", bucket.KeyAsString);
            Assert.AreEqual(1483362245060, bucket.Key);
            Assert.AreEqual(234, bucket.DocCount);

            table.Dispose();
        }
Ejemplo n.º 9
0
 private static void DemoConnect()
 {
     bucket = BucketFactory.GetBucket();
     Debug.WriteLine("Bucket={0}", bucket.Name);
 }