Example #1
0
        static void AddTest()
        {
            Console.WriteLine("Create new test...\nTest Types:");

            foreach (var type in tvs.TestTypes)
            {
                Console.WriteLine(type.Id + " - " + type.Name);
            }

            Console.Write("Type: ");
            string typeId = Console.ReadLine();

            Console.Write("Name: ");
            string name = Console.ReadLine();

            Console.Write("Path: ");
            string path = Console.ReadLine();

            using (var stream = File.OpenRead(path))
            {
                Console.WriteLine("Installing test...");
                tvs.CreateTest(stream, name, typeId);
            }

            Console.WriteLine("Complete!");
        }
Example #2
0
        public Streams(Bizarrefish.WebLib.HTTPServer <TSession> server, ITestVisorService tvs)
        {
            this.tvs    = tvs;
            this.server = server;

            // Artifacts
            server.AddStreamReadFunc(ARTIFACT_KEY, key => {
                string runId, testKey;
                int index;
                SplitArtifactKey(key, out runId, out testKey, out index);
                return(tvs.ReadArtifact(runId, testKey, index));
            });

            // Tests
            server.AddStreamWriteFunc(TESTS_KEY, (key, stream) => {
                string testTypeId, testName;
                SplitTestUploadKey(key, out testTypeId, out testName);

                string tempFile = Path.GetTempFileName();
                try
                {
                    using (var fileStream = File.Open(tempFile, FileMode.OpenOrCreate))
                    {
                        WebUtils.ExtractMultipartFileData(TEST_FILE_FIELD_NAME, stream, fileStream);

                        fileStream.Seek(0, SeekOrigin.Begin);

                        tvs.CreateTest(fileStream, testName, testTypeId);
                    }
                }
                finally
                {
                    File.Delete(tempFile);
                }
            });
        }