コード例 #1
0
        public async Task TestBasic()
        {
            string authType       = BasicGenerator.AuthorizationHeaderMarker;
            string userName       = "******";
            string password       = "******";
            string relativeUri    = "/api/auth/basic";
            Uri    fullUri        = new Uri(baseUri, relativeUri);
            string initialRequest = CreateInitialRequest(fullUri);

            using (Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))
            {
                await socket.ConnectAsync("localhost", port);

                HttpResponse initialResponse = await SendRequestAndGetResponse(socket, initialRequest);

                Assert.That(initialResponse.StatusCode, Is.EqualTo(401));
                Assert.That(initialResponse.Headers.ContainsKey("WWW-Authenticate"));

                string authHeader = GetDesiredAuthHeader(authType, initialResponse);
                Assert.That(authHeader, Is.Not.Null);

                BasicGenerator generator          = new BasicGenerator(userName, password);
                string         authorizeRequest   = CreateRequest(fullUri, generator.GenerateAuthorizationHeader());
                HttpResponse   authorizedResponse = await SendRequestAndGetResponse(socket, authorizeRequest);

                Assert.That(authorizedResponse.StatusCode, Is.EqualTo(200));
                socket.Close();
            }
        }
コード例 #2
0
        private void DbDeleteBtn_OnClick(object sender, RoutedEventArgs e)
        {
            string         txt       = inputTextBox.Text;
            BasicGenerator generator = new BasicGenerator(BasicGenerator.DummyConfiguration);

            outPutTextBox.Text = generator.Parse(txt, tbReplacement.Text).Generate().GetDeleteTablesSql();
        }
コード例 #3
0
        public static List <DataTypePattern> GetPatterns()
        {
            List <DataTypePattern> list = new List <DataTypePattern>();
            BasicGenerator         gen  = BasicGenerator.Instance;

            list.Add(new DataTypePattern(EnumDataTypes.ByteInt, gen.TypeByteInt, false));
            list.Add(new DataTypePattern(EnumDataTypes.SmallInt, gen.TypeSmallInt, false));
            list.Add(new DataTypePattern(EnumDataTypes.Boolean, gen.TypeBoolean, false));
            list.Add(new DataTypePattern(EnumDataTypes.Int, gen.TypeInt, false));
            list.Add(new DataTypePattern(EnumDataTypes.Varchar, gen.TypeVarchar, true));
            list.Add(new DataTypePattern(EnumDataTypes.Char, gen.TypeChar, true));
            list.Add(new DataTypePattern(EnumDataTypes.LongText, gen.TypeLongText, false));
            list.Add(new DataTypePattern(EnumDataTypes.Text, gen.TypeText, false));
            list.Add(new DataTypePattern(EnumDataTypes.DateTime, gen.TypeDateTime, false));
            list.Add(new DataTypePattern(EnumDataTypes.Bit, gen.TypeBit, false));
            list.Add(new DataTypePattern(EnumDataTypes.Float, gen.TypeFloat, false));
            list.Add(new DataTypePattern(EnumDataTypes.TimeStamp, gen.TypeTimeStamp, false));
            list.Add(new DataTypePattern(EnumDataTypes.Date, gen.TypeDate, false));
            list.Add(new DataTypePattern(EnumDataTypes.Decimal, gen.TypeDecimal, true)
            {
                HasAddistinalSize = true
            });
            if (OnTypePatternsGeneration != null)
            {
                return(OnTypePatternsGeneration.Invoke(list));
            }
            return(list);
        }
コード例 #4
0
ファイル: ChunkManager.cs プロジェクト: Starhide/CubeWorld
 private void LoadChunk(ChunkIndex index, Chunk c)
 {
     BasicGenerator.GenerateChunkAt(index, ref c);
     c.Compile();
     c.RenderChunk = true;
     AddChunk(c);
     lock (chunkLoadingList)
     {
         chunkLoadingList.Remove(index);
     }
 }
コード例 #5
0
 public static T OtherThan <T>(this BasicGenerator gen, params T[] omittedValues)
 {
     if (ValueTypes.Contains(typeof(T)))
     {
         return(gen.InstanceOf(InlineGenerators.ValueOtherThan(omittedValues)));
     }
     else
     {
         return(gen.InstanceOf(InlineGenerators.OtherThan(omittedValues)));
     }
 }
コード例 #6
0
        public void TestUserNamePasswordAndNullHeader()
        {
            BasicGenerator generator = new BasicGenerator(userName, password, null);

            byte[] actualAuthBytes = generator.GetAuthorizationBytes();
            string actualAuthValue = generator.GetAuthorizationValue();

            string calculatedValue = Convert.ToBase64String(actualAuthBytes);

            Assert.That(calculatedValue, Is.EqualTo(expectedValue));
            Assert.That(actualAuthValue, Is.EqualTo(expectedValue));
        }
コード例 #7
0
        public void TestUserNamePasswordAndHeader()
        {
            string         header    = "realm=\"Protected Area\", charset=\"UTF-8\"";
            BasicGenerator generator = new BasicGenerator(userName, password, header);

            byte[] actualAuthBytes = generator.GetAuthorizationBytes();
            string actualAuthValue = generator.GetAuthorizationValue();

            string calculatedValue = Convert.ToBase64String(actualAuthBytes);

            Assert.That(calculatedValue, Is.EqualTo(expectedValue));
            Assert.That(actualAuthValue, Is.EqualTo(expectedValue));
        }
        /// <summary>
        /// Handles the OnResponseReceived for the proxy, which occurs after the response is
        /// received from the web server, but before it is forwarded on to the browser.
        /// </summary>
        /// <param name="context">A <see cref="BenderProxy.ProcessingContext"/> object.</param>
        public override void OnResponseReceived(ProcessingContext context)
        {
            // These are valid credentials for the Basic case.
            string userName = "******";
            string password = "******";

            // Only do any processing on the response if the response is 401,
            // or "Unauthorized".
            if (context.ResponseHeader != null && context.ResponseHeader.StatusCode == 401)
            {
                // Read the headers from the response and finish reading the response
                // body, if any.
                Console.WriteLine("Received 401 - Unauthorized response");
                context.ServerStream.ReadTimeout  = 5000;
                context.ServerStream.WriteTimeout = 5000;
                StreamReader     reader       = new StreamReader(context.ServerStream);
                HttpHeaderReader headerReader = new HttpHeaderReader(reader);
                if (context.ResponseHeader.EntityHeaders.ContentLength != 0)
                {
                    string drainBody = ReadFromStream(reader);
                }

                // We do not want the proxy to do any further processing after
                // handling this message.
                context.StopProcessing();

                // Read the WWW-Authenticate header. Because of the way the test
                // web app is configured, it returns multiple headers, with
                // different schemes. We need to select the correct one.
                string authHeader = GetAuthenticationHeader(context.ResponseHeader.WWWAuthenticate, BasicGenerator.AuthorizationHeaderMarker);
                Console.WriteLine("Processing WWW-Authenticate header: {0}", authHeader);

                // Calculate the value for the Authorization header, and resend
                // the request (with the Authorization header) to the server
                // using BenderProxy's HttpMessageWriter.
                Console.WriteLine("Generating authorization header value for user name '{0}' and password '{1}'", userName, password);
                BasicGenerator generator = new BasicGenerator(userName, password, authHeader);
                string         authorizationHeaderValue = generator.GenerateAuthorizationHeader();
                Console.WriteLine("Resending request with Authorization header: {0}", authorizationHeaderValue);
                context.RequestHeader.Authorization = authorizationHeaderValue;
                HttpMessageWriter writer = new HttpMessageWriter(context.ServerStream);
                writer.Write(context.RequestHeader);

                // Get the authorized response, and forward it on to the browser, using
                // BenderProxy's HttpHeaderReader and support classes.
                HttpResponseHeader header     = new HttpResponseHeader(headerReader.ReadHttpMessageHeader());
                string             body       = ReadFromStream(reader);
                Stream             bodyStream = new MemoryStream(Encoding.UTF8.GetBytes(body));
                new HttpResponseWriter(context.ClientStream).Write(header, bodyStream, bodyStream.Length);
            }
        }
コード例 #9
0
 private void DbInsertBtn_OnClick(object sender, RoutedEventArgs e)
 {
     try
     {
         if (insertFile == null)
         {
             DbInsertFileBtn_OnClick(sender, e);
         }
         var            data      = File.ReadAllText(insertFile);
         BasicGenerator generator = new BasicGenerator(BasicGenerator.DummyConfiguration);
         outPutTextBox.Text = generator.Parse(inputTextBox.Text, tbReplacement.Text).GetInsertDataSql(data);
     }
     catch (Exception exception)
     {
         MessageBox.Show(exception.Message, "Error while openning file!");
     }
 }
コード例 #10
0
 public Boolean TryGenerate(String edmxFileFullPath,
                            String dbConnectionString,
                            String generatorAssemblyFileFullPath,
                            String generatorTypeFulleName = "",
                            String outputFileFullPath     = "")
 {
     try
     {
         BasicGenerator generator = GetGenerateor(edmxFileFullPath, dbConnectionString, generatorAssemblyFileFullPath, generatorTypeFulleName, outputFileFullPath);
         return(generator.TryDoGenerate());
     }
     catch (Exception ex)
     {
         //throw;
         WriteLogMsg(ex);
     }
     return(false);
 }
コード例 #11
0
        private void generateBtn_Click(object sender, RoutedEventArgs e)
        {
            string txt = inputTextBox.Text;

            if (txt.Length == 0)
            {
                return;
            }

            try
            {
                BasicGenerator generator = new BasicGenerator(BasicGenerator.DummyConfiguration);
                outPutTextBox.Text = generator.Parse(txt, tbReplacement.Text).Generate().ToSql();
                string h = generator.ToHtmlWithHeader();
                WriteHtml(h);
                tableOutTextBox.Text = h;
            }
            catch (Exception exception)
            {
                MessageBox.Show($"{exception.Message}\n\n{exception.StackTrace}", "Error while generating");
            }
            //outPutTextBox.Text = Generate(txt);
        }
コード例 #12
0
    public static T OtherThan <T>(this BasicGenerator gen, params T[]?skippedValues)
    {
        if (skippedValues == null)
        {
            return(gen.Instance <T>());
        }

        if (ThereAreRepeatedItemsIn(skippedValues))
        {
            throw new ArgumentException(
                      "there is no point in passing a single value twice for skip",
                      nameof(skippedValues));
        }

        if (ValueTypes.Contains(typeof(T)))
        {
            return(gen.InstanceOf(InlineGenerators.ValueOtherThan(skippedValues)));
        }
        else
        {
            return(gen.InstanceOf(InlineGenerators.OtherThan(skippedValues)));
        }
    }
コード例 #13
0
 public static long Long(this BasicGenerator gen)
 {
     return(gen.InstanceOf(InlineGenerators.Long()));
 }
コード例 #14
0
 public static IReadOnlyList <T> ReadOnlyList <T>(this BasicGenerator gen, int length)
 {
     return(gen.InstanceOf(InlineGenerators.List <T>(length)));
 }
コード例 #15
0
 public static double Double(this BasicGenerator gen)
 {
     return(gen.InstanceOf(InlineGenerators.Double()));
 }
コード例 #16
0
 public static List <T> ListWith <T>(this BasicGenerator gen, params T[] included)
 {
     return(gen.InstanceOf(InlineGenerators.ListWith(included)));
 }
コード例 #17
0
 public static List <T> ListWith <T>(this BasicGenerator gen, IEnumerable <T> included)
 {
     return(gen.InstanceOf(InlineGenerators.ListWith(included.ToArray())));
 }
コード例 #18
0
 public static List <T> List <T>(this BasicGenerator gen)
 {
     return(gen.InstanceOf(InlineGenerators.List <T>()));
 }
コード例 #19
0
 public static ulong UnsignedLong(this BasicGenerator gen)
 {
     return(gen.InstanceOf(InlineGenerators.UnsignedLong()));
 }
コード例 #20
0
 public static byte PositiveDigit(this BasicGenerator gen)
 {
     return(gen.InstanceOf(InlineGenerators.PositiveDigit()));
 }
コード例 #21
0
 public static short Short(this BasicGenerator gen)
 {
     return(gen.InstanceOf(InlineGenerators.Short()));
 }
コード例 #22
0
 public static decimal Decimal(this BasicGenerator gen)
 {
     return(gen.InstanceOf(InlineGenerators.Decimal()));
 }
コード例 #23
0
 public static byte Byte(this BasicGenerator gen)
 {
     return(gen.InstanceOf(InlineGenerators.Byte()));
 }
コード例 #24
0
 public static ImmutableStack <T> ImmutableStack <T>(this BasicGenerator gen)
 {
     return(gen.InstanceOf(InlineGenerators.ImmutableStack <T>()));
 }
コード例 #25
0
 public static ushort UnsignedShort(this BasicGenerator gen)
 {
     return(gen.InstanceOf(InlineGenerators.UnsignedShort()));
 }
コード例 #26
0
 public static T[] Array <T>(this BasicGenerator gen, int length)
 {
     return(gen.InstanceOf(InlineGenerators.Array <T>(length)));
 }
コード例 #27
0
 public static int IntegerFromSequence(this BasicGenerator gen, int startingValue = 0, int step = 1)
 {
     return(gen.InstanceOf(InlineGenerators.IntegerFromSequence(startingValue, step)));
 }
コード例 #28
0
 public static T[] ArrayWithout <T>(this BasicGenerator gen, params T[] excluded)
 {
     return(gen.InstanceOf(InlineGenerators.ArrayWithout(excluded)));
 }
コード例 #29
0
 public static int Integer(this BasicGenerator gen)
 {
     return(gen.InstanceOf(InlineGenerators.Integer()));
 }
コード例 #30
0
 public static T[] ArrayWithout <T>(this BasicGenerator gen, IEnumerable <T> excluded)
 {
     return(gen.InstanceOf(InlineGenerators.ArrayWithout(excluded.ToArray())));
 }