Пример #1
0
        private ApiKeyManagement Resolve(Mock <IDatabaseContext> fakeContext, int currentUser)
        {
            var person = new Person
            {
                Id = currentUser,
            };

            var defaultGroup = new AccountGroup
            {
                Id = 1
            };

            var join = person.AddToGroup(defaultGroup, 1);

            join.PermissionLevel = PermissionLevel.Admin; //defaults to this

            fakeContext.Setup(x => x.List <Person>()).Returns(new[]
            {
                person
            }.AsQueryable());


            var result = new ApiKeyManagement(fakeContext.Object, currentUser, 1);

            return(result);
        }
        public ActionResult Create()
        {
            ViewBag.Message = "API Key Create";

            ApiKeyManagement request = new ApiKeyManagement(ApiKey);

            request.PrepareCreateRequest();

            return(SendRequest(request));
        }
        public ActionResult Select()
        {
            ViewBag.Message = "API Key Query";

            ApiKeyManagement request = new ApiKeyManagement(ApiKey)
            {
                ExternalClientID = ExternalClientID
            };

            request.PrepareSelectRequest();

            return(SendRequest(request));
        }
Пример #4
0
        public void CreateKey_NormalUser_Fails()
        {
            Mock <IDatabaseContext> fakeContext = new Mock <IDatabaseContext>();
            var person = new Person {
                Id = 1,
            };
            var accountGroup = new AccountGroup {
                Id = 1,
            };
            var join = person.AddToGroup(accountGroup, 2);

            join.PermissionLevel = PermissionLevel.Normal; // the really important bit
            fakeContext.Setup(x => x.List <Person>()).Returns(new[] { person }.AsQueryable());

            var mng = new ApiKeyManagement(fakeContext.Object, 1, 1);

            mng.CreateKey("Test");
        }
        private ActionResult SendRequest(ApiKeyManagement request, string sharedKey)
        {
            string       response;
            bool         success = request.SendRequest(sharedKey, out response);
            SuccessModel model   = new SuccessModel();
            dynamic      result  = JsonConvert.DeserializeObject(response);

            if (success)
            {
                model.UnencryptedData = JsonConvert.SerializeObject(result, Formatting.Indented);
            }
            else
            {
                TempData.Add("error", JsonConvert.SerializeObject(result, Formatting.Indented));
            }

            return(View(model));
        }
        public ActionResult Update()
        {
            ViewBag.Message = "API Key Update (set last key to INACTIVE)";

            ApiKeyManagement request = new ApiKeyManagement(ApiKey)
            {
                ExternalClientID = ExternalClientID
            };

            request.PrepareSelectRequest();

            string response;

            if (request.SendRequest(SharedKey, out response))
            {
                dynamic data = JsonConvert.DeserializeObject(response);

                if (data != null && data.apiKeys != null && data.apiKeys.Count > 1)
                {
                    int    index  = data.apiKeys.Count - 1;
                    string apiKey = data.apiKeys[index].key;

                    request.ApiKeyToUpdate = apiKey;
                    request.Status         = VisaHelper.Options.ApiKeyStatus.INACTIVE;
                    request.PrepareUpdateRequest();

                    return(SendRequest(request));
                }
                else
                {
                    TempData.Add("error", "Not enough keys to update, you must have at least 2 keys.");
                }
            }
            else
            {
                TempData.Add("error", string.Format("Could not query keys:\r\n{0}", response));
            }

            return(View());
        }
 private ActionResult SendRequest(ApiKeyManagement request)
 {
     return(SendRequest(request, SharedKey));
 }