示例#1
0
 internal CheckedContext(
     AircloakConnection connection,
     string dataSource,
     string table,
     IEnumerable <string> columns,
     IEnumerable <DColumnInfo> columnInfos,
     int samplesToPublish)
 {
     Connection       = connection;
     DataSource       = dataSource;
     Table            = table;
     Columns          = ImmutableArray.CreateRange(columns);
     ColumnInfos      = ImmutableArray.CreateRange(columnInfos);
     SamplesToPublish = samplesToPublish;
 }
示例#2
0
 internal CheckedContext(
     AircloakConnection connection,
     string dataSource,
     string table,
     string column,
     DColumnInfo columnInfo,
     int samplesToPublish)
 {
     Connection       = connection;
     DataSource       = dataSource;
     Table            = table;
     Columns          = ImmutableArray.Create(column);
     ColumnInfos      = ImmutableArray.Create(columnInfo);
     SamplesToPublish = samplesToPublish;
 }
示例#3
0
        public TestScope(
            Container rootContainer,
            Uri apiUri,
            string dataSource,
            string table,
            IEnumerable <string> columns,
            IEnumerable <DColumnInfo> columnInfo,
            string vcrFileName,
            int samplesToPublish  = 10,
            int pollFrequencySecs = 2)
        {
#pragma warning disable CA2000 // Call System.IDisposable.Dispose on object (lifetime is managed by container.)
            var cts      = new CancellationTokenSource();
            var cassette = new Cassette($"../../../.vcr/{vcrFileName}.yaml");
#pragma warning restore CA2000 // Call System.IDisposable.Dispose on object

            Scope = rootContainer.GetNestedContainer();

            Scope.InjectDisposable(cts);
            Scope.InjectDisposable(cassette);

            var opts = Options.Create(new ConnectionOptions
            {
                PollingInterval = pollFrequencySecs * 1000,
            });

            Connection = new AircloakConnection(
                Scope.GetInstance <JsonApiClient>(),
                apiUri,
                dataSource,
                opts,
                cts.Token);

            Context = new ExplorerTestContext(Connection, dataSource, table, columns, columnInfo, samplesToPublish);
            Scope.Inject <ExplorerContext>(Context);
        }