public void Test_Ctor_Sets_Properties_From_Ctor()
        {
            //arrange
            RestSharpCurrentThreadEnqueueRequestHandlerStrategy strat = new RestSharpCurrentThreadEnqueueRequestHandlerStrategy(@"http://www.google.com", Mock.Of <IDeserializerStrategy>(), Mock.Of <ISerializerStrategy>(), Mock.Of <INetworkMessageReceiver>(), 5, Mock.Of <INetworkMessageRouteBackService>());

            Assert.NotNull(strat.GetType().GetProperty("serializer", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.GetProperty).GetValue(strat, new object[0]));
        }
        }                                                                                             //we have to have a setter, can't use C#6 readonly prop because FasterFlect when using SceneJect will complain that it can't find a setter.

        //call on Start, not awake.
        public virtual void Start()
        {
            //Uses HTTPS so default to established encryption
            Status = NetStatus.EncryptionEstablished;

            enqueuStrat = new RestSharpCurrentThreadEnqueueRequestHandlerStrategy(BaseUrl, deserializer, serializer, this, 0, new DefaultNetworkMessageRouteBackService(new AUIDServiceCollection <INetPeer>(1), classLogger));

            NetworkSendService = new WebPeerClientMessageSender(enqueuStrat);

            PeerDetails = new WebClientPeerDetails(BaseUrl, 0, 0);
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            new ProtobufnetRegistry().RegisterAuthenticationPayloads();
            new ProtobufnetRegistry().Register(typeof(SimpleGameServerDetailsModel));
            new ProtobufnetRegistry().Register(typeof(NetworkMessage));
            new ProtobufnetRegistry().Register(typeof(AuthenticationRequest));
            new ProtobufnetRegistry().Register(typeof(AuthenticationResponse));
            new ProtobufnetRegistry().Register(typeof(RequestMessage));
            new ProtobufnetRegistry().Register(typeof(ResponseMessage));
            new ProtobufnetRegistry().RegisterServerSelectionPayloads();

            Mock <INetworkMessageReceiver> reciever = new Mock <INetworkMessageReceiver>(MockBehavior.Strict);

            reciever.Setup(x => x.OnNetworkMessageReceive(It.IsAny <IResponseMessage>(), It.IsAny <IMessageParameters>()))
            .Callback <IResponseMessage, IMessageParameters>(Test);

            RestSharpCurrentThreadEnqueueRequestHandlerStrategy strat = new RestSharpCurrentThreadEnqueueRequestHandlerStrategy(@"https://localhost:44300", new ProtobufnetDeserializerStrategy(), new ProtobufnetSerializerStrategy(), reciever.Object, 0, Mock.Of <INetworkMessageRouteBackService>());

            JWTTokenServiceManager tokenServiceManager = new JWTTokenServiceManager();

            //fake token
            //tokenServiceManager.RegisterToken("eyJhbGciOiJSUzI1NiIsImtpZCI6IjYyN0YyQUFDMTZERTlENjNDMkY3NDQyQzk1OUFBNjEyQjIyOTlENDciLCJ0eXAiOiJKV1QiLCJ4NXQiOiJZbjhxckJiZW5XUEM5MFFzbFpxbUVySXBuVWMifQ.eyJBc3BOZXQuSWRlbnRpdHkuU2VjdXJpdHlTdGFtcCI6ImFjMWY2YTJmLTUyNzEtNDAxOS1iMDAyLTlhZjcxZjk5MWFjZCIsIlVzZXJOYW1lIjoiQWRtaW4iLCJqdGkiOiJkOWQ0NTQ2My1hYWNlLTQwZDktYjU2OS00YjhkM2EyYWQxNGIiLCJ1c2FnZSI6ImFjY2Vzc190b2tlbiIsInNjb3BlIjoidXNlciIsInN1YiI6ImQ1Njc5OTE2LTdkOTctNDZmMy04NmNlLTM1OTRiODBmMjhmZSIsIm5iZiI6MTQ3MDkwMTM5NCwiZXhwIjoxNDcwOTAzMTk0LCJpYXQiOjE0NzA5MDEzOTQsImlzcyI6Imh0dHBzOi8vbG9jYWxob3N0OjQ0MzAwLyJ9.TfcaeRtk-rS8xJEH2moJiq_JjSyDiUKFkVpSzWbW2NRTdTIwyH3Asq84yj57vBrkbSE_gXdcUAqwtxseMF1-dBYfVFC0XxAaTPVNx17Ze-oSM9JjPM2MiZQvoVu-zaBXoJp_yiG1aKR8oAKuOjW_JDsZj35eBaPegC9hrcAq6usKTUqn-YrIgGulYBqAZQxoqHJpcjQMsXTFlsLSAb68AHD0PJa-3rWQQlc3qVx6K_wMkhCsAyN3v-VdkbhTC4uWQeJnxn159Ow9FT8SwS-hVb_f-fFX3I0jlhijWW2pH3IZWN93ZnYdxbuM1GY-49N0IjDuRa8YCDBnkZza_lkJkhjhzdSyZv3vX0IZNaBjB2wK49RtPCHHKEHc75tps2meWjy5kNGjTK0nRSfc6Gc-QtCkLFZRkbZTB7uW9i_mCWfk1m7Pzo_2tAclv9VRCQy0-IvvaeW8E5M8rYmxrRPGpPQsEKh7QdUlRoVeW28tyOK5MwR9HjhO-gAT6Fc9sCz6pXuf7G0tGiUINBeSCWhJIM4-71-kvf1C5oJJ76giknEnpf5i_vPke4gzk-uE4EdUQcrMBuRKMVI83Q8_0e4nQ0CekyZXQ2CDU_0Nh3oigRPiJa-QAiJOjWbzOHkOGgH-pyWbw2PWlmuZSJNMyP0QDQ0kztNzGUCHrNLNn35BccU");
            strat.RegisterAuthenticationMiddleware(new ProtobufnetSerializerStrategy(), new ProtobufnetDeserializerStrategy(), tokenServiceManager);
            //AuthRequest request = new AuthRequest(IPAddress.Broadcast, new LoginDetails("test", new byte[5]));

            //AuthenticationRequest authRequest = new AuthenticationRequest("Admin", "Test123$");

            strat.EnqueueRequest(new AuthenticationRequest("Admin", "Password69!"));

            //PacketPayload actualAuthRequest = (new ProtobufnetDeserializerStrategy()).Deserialize<PacketPayload>((new ProtobufnetSerializerStrategy().Serialize(request)));
            //strat.EnqueueRequest(new ProtobufnetSerializerStrategy().Serialize("hello"),
            //	client, nameof(AuthRequest));

            //strat.EnqueueRequest(null,
            //	client, nameof(AuthRequest));

            //strat.EnqueueRequest(actualAuthRequest);

            //Console.WriteLine($"isTokenAvailable: {tokenServiceManager.isTokenAvailable}\n\n\n\n Token: {tokenServiceManager.TokenString}\n\n\n\n TokenHeader: {tokenServiceManager.FullTokenHeaderValue}");
            Console.ReadKey();
        }