Example #1
0
        public void v1API()
        {
            var pl = new Playlyfe(
                client_id: "Zjc0MWU0N2MtODkzNS00ZWNmLWEwNmYtY2M1MGMxNGQ1YmQ4",
                client_secret: "YzllYTE5NDQtNDMwMC00YTdkLWFiM2MtNTg0Y2ZkOThjYTZkMGIyNWVlNDAtNGJiMC0xMWU0LWI2NGEtYjlmMmFkYTdjOTI3",
                type: "client",
                store: null,
                load: null,
                version: "v1"
                );

            dynamic all_players = pl.api(
                method: "GET",
                route: "/players",
                query: player_id
                );

            //Assert.AreEqual(all_players["total"], 3);
            Assert.IsNotNull(all_players["data"]);

            dynamic players = pl.get(
                route: "/players",
                query: player_id
                );
            //Assert.AreEqual(players["total"], 3);

            dynamic player = pl.get(route: "/player", query: player_id, raw: true);

            Assert.IsInstanceOf <String>(player);

            pl.get(route: "/definitions/processes", query: player_id);
            pl.get(route:  "/definitions/teams", query:  player_id);
            pl.get(route:  "/processes", query:  player_id);
            pl.get(route:  "/teams", query:  player_id);

            dynamic new_process = pl.post(route: "/definitions/processes/module1", query: player_id, body: null);

            Assert.AreEqual(new_process ["definition"], "module1");
            Assert.AreEqual(new_process ["state"], "ACTIVE");

            dynamic patched_process = pl.patch(
                route: "/processes/" + new_process ["id"],
                query: player_id,
                body: new { name = "patched_process", access = "PUBLIC" }
                );

            Assert.AreEqual(patched_process["name"], "patched_process");
            Assert.AreEqual(patched_process["access"], "PUBLIC");

            dynamic deleted_process = pl.delete(
                route: "/processes/" + new_process["id"],
                query: player_id
                );

            Assert.IsNotNullOrEmpty(deleted_process ["message"]);
        }
Example #2
0
        public void APIProduction()
        {
            var pl = new Playlyfe(
                client_id: "N2Y4NjNlYTItODQzZi00YTQ0LTkzZWEtYTBiNTA2ODg3MDU4",
                client_secret: "NDc3NTA0NmItMjBkZi00MjI2LWFhMjUtOTI0N2I1YTkxYjc2M2U3ZGI0MDAtNGQ1Mi0xMWU0LWJmZmUtMzkyZTdiOTYxYmMx",
                type: "client",
                store: null,
                load: null,
                version: "v1"
                );
            dynamic players = pl.get(route: "/game/players", query: player_id);

            Assert.IsNotNull(players);
        }
Example #3
0
        public void StoreAndLoad()
        {
            Dictionary <string, string> tok = null;
            var pl = new Playlyfe(
                client_id: "N2Y4NjNlYTItODQzZi00YTQ0LTkzZWEtYTBiNTA2ODg3MDU4",
                client_secret: "NDc3NTA0NmItMjBkZi00MjI2LWFhMjUtOTI0N2I1YTkxYjc2M2U3ZGI0MDAtNGQ1Mi0xMWU0LWJmZmUtMzkyZTdiOTYxYmMx",
                type: "client",
                store: token =>
            {
                Console.WriteLine("hello", token);
                tok = new Dictionary <string, string>();
                tok["access_token"] = token["access_token"];
                tok["expires_at"]   = token["expires_at"];
                return(0);
            },
                load: () =>
            {
                return(tok);
            },
                version: "v1"
                );
            dynamic players = pl.get(route: "/game/players", query: player_id);

            pl.get(route: "/game/players", query: player_id);
            pl.get(route: "/game/players", query: player_id);
            var pl2 = new Playlyfe(
                client_id: "N2Y4NjNlYTItODQzZi00YTQ0LTkzZWEtYTBiNTA2ODg3MDU4",
                client_secret: "NDc3NTA0NmItMjBkZi00MjI2LWFhMjUtOTI0N2I1YTkxYjc2M2U3ZGI0MDAtNGQ1Mi0xMWU0LWJmZmUtMzkyZTdiOTYxYmMx",
                type: "client",
                store: token =>
            {
                Console.WriteLine("hello", token);
                tok = new Dictionary <string, string>();
                tok["access_token"] = token["access_token"];
                tok["expires_at"]   = token["expires_at"];
                return(0);
            },
                load: () =>
            {
                return(tok);
            },
                version: "v1"
                );

            pl2.get(route: "/game/players", query: player_id);
            pl2.get(route: "/game/players", query: player_id);
        }
Example #4
0
        public void Error()
        {
            var pl = new Playlyfe(
                client_id: "Zjc0MWU0N2MtODkzNS00ZWNmLWEwNmYtY2M1MGMxNGQ1YmQ4",
                client_secret: "YzllYTE5NDQtNDMwMC00YTdkLWFiM2MtNTg0Y2ZkOThjYTZkMGIyNWVlNDAtNGJiMC0xMWU0LWI2NGEtYjlmMmFkYTdjOTI3",
                type: "client",
                store: null,
                load: null
                );

            try {
                pl.get(
                    route: "/unkown",
                    query: player_id
                    );
            }
            catch (PlaylyfeException ex) {
                Assert.AreEqual(ex.Name, "route_not_found");
                Assert.AreEqual(ex.Message, "This route does not exist");
            }
        }
Example #5
0
        public Client()
        {
            StaticConfiguration.DisableErrorTraces = false;
            if (plClient == null)
            {
                plClient = new Playlyfe(
                    client_id: "Zjc0MWU0N2MtODkzNS00ZWNmLWEwNmYtY2M1MGMxNGQ1YmQ4",
                    client_secret: "YzllYTE5NDQtNDMwMC00YTdkLWFiM2MtNTg0Y2ZkOThjYTZkMGIyNWVlNDAtNGJiMC0xMWU0LWI2NGEtYjlmMmFkYTdjOTI3",
                    type: "client",
                    store: null,
                    load: null,
                    version: "v1"
                    );
            }
            if (plCode == null)
            {
                plCode = new Playlyfe(
                    client_id: "OGUxYTRlZWUtZTAyOS00ZThjLWIyNzQtNGEwMGRiNjk1ZGRj",
                    client_secret: "NDMyMDMyOTktM2NhOS00MGJlLTg4NzYtZWJjMzNhNTE1NDYwYTc1NGU2NTAtNWI1ZS0xMWU0LTkwYTEtYTM4MzkzMzkxZTY1",
                    type: "code",
                    redirect_uri: "http://localhost:3000/code",
                    store: null,
                    load: null,
                    version: "v1"
                    );
            }

            Get["/"] = parameters => {
                var html = "<html><head><title>Playlyfe Examples</title></head><body>";
                html += "<h1><a href=\"/client\">Client Credentials Flow Example</a></h1>";
                html += "<h1><a href=\"/code\">Authorization Code Flow Example</a></h1>";
                html += "</body></html>";
                return(html);
            };

            Get["/client"] = parameters => {
                dynamic players = plClient.get(route: "/game/players", query: null);
                return(listAllPlayers(players));
            };

            Get ["/code"] = parameters => {
                var dict = (DynamicDictionary)this.Request.Query;
                if (dict.ContainsKey("code"))
                {
                    plCode.exchange_code(dict["code"].ToString());
                    user = "******";
                }
                if (user != null)
                {
                    dynamic players = plCode.get(route: "/game/players", query: null);
                    return(listAllPlayers(players));
                }
                else
                {
                    return("<a href=\"" + plCode.get_login_url() + "\">Please Login to your Playlyfe Account</a>");
                }
            };

            Get ["/logout"] = parameters => {
                user = null;
                return("logged_out");
            };
        }