Esempio n. 1
0
        public static ITransportClient CreateConnection(this TestConfigurationBase configuration, bool forceInMemory = false, byte[] response = null)
        {
            var headers = new Dictionary <string, IEnumerable <string> > {
                { "x-elastic-product", new[] { "Elasticsearch" } }
            };

            return(forceInMemory
                                ? new InMemoryConnection(response, headers: headers)
                                : configuration.RunIntegrationTests
                                        ? new HttpTransportClient()
                                        : new InMemoryConnection(response, headers: headers));
        }
Esempio n. 2
0
 public static bool InRange(this TestConfigurationBase configuration, string range) =>
 configuration.ElasticsearchVersion.InRange(range);
Esempio n. 3
0
 public static IConnection CreateConnection(this TestConfigurationBase configuration, bool forceInMemory = false, byte[] response = null) =>
 forceInMemory
                         ? new InMemoryConnection(response)
                         : configuration.RunIntegrationTests
                                 ? (IConnection) new HttpConnection()
                                 : new InMemoryConnection(response);
        private static string ReproduceCommandLine(ConcurrentBag <Tuple <string, string> > failedCollections, TestConfigurationBase config,
                                                   bool runningIntegrations
                                                   )
        {
            var sb = new StringBuilder(RuntimeInformation.IsOSPlatform(OSPlatform.Windows) ? ".\\build.bat " : "./build.sh ")
                     .Append("seed:").Append(config.Seed).Append(" ");

            AppendConfig(nameof(RandomConfiguration.SourceSerializer), config.Random.SourceSerializer, sb);
            AppendConfig(nameof(RandomConfiguration.TypedKeys), config.Random.TypedKeys, sb);
            AppendConfig(nameof(RandomConfiguration.HttpCompression), config.Random.HttpCompression, sb);

            if (runningIntegrations)
            {
                sb.Append("integrate ")
                .Append(TestConfiguration.Instance.ElasticsearchVersion);
            }
            else
            {
                sb.Append("test");
            }

            if (runningIntegrations && failedCollections.Count > 0)
            {
                var clusters = string.Join(",", failedCollections
                                           .Select(c => c.Item1.ToLowerInvariant())
                                           .Distinct());
                sb.Append(" \"");
                sb.Append(clusters);
                sb.Append("\"");
            }

            if ((!runningIntegrations || failedCollections.Count < 30) && failedCollections.Count > 0)
            {
                sb.Append(" \"");
                var tests = string.Join(",", failedCollections
                                        .OrderBy(t => t.Item2)
                                        .Select(c => c.Item2.ToLowerInvariant()
                                                .Split('.')
                                                .Last()
                                                .Replace("apitests", "")
                                                .Replace("usagetests", "")
                                                .Replace("tests", "")
                                                ));
                sb.Append(tests);
                sb.Append("\"");
            }

            var reproduceLine = sb.ToString();

            return(reproduceLine);
        }
 public static IConnection CreateConnection(this TestConfigurationBase configuration, bool forceInMemory = false) =>
 configuration.RunIntegrationTests && !forceInMemory ? (IConnection) new HttpConnection() : new InMemoryConnection();
 private static IConnection CreateLiveConnection(this TestConfigurationBase configuration) =>
 new HttpConnection();