Методы этого класса позволяют производить действия с аккаунтом пользователя.
예제 #1
0
 public void GetBanned_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     // TODO как то я сомневаюсь в необходимости таких проверок, нужно закрыть инициализацию объектов только внутри библиотеки
     var account = new AccountCategory(new VkApi());
     int res;
     Assert.That(() => account.GetBanned(out res), Throws.InstanceOf<AccessTokenInvalidException>());
 }
예제 #2
0
        public void GetBanned_IncorrectParameters_ThrowArgumentException()
        {
            var account = new AccountCategory(new VkApi { AccessToken = "token", Browser = null });

            int buf;
            Assert.That(() => account.GetBanned(out buf, offset: -1), Throws.InstanceOf<ArgumentException>().And.Property("ParamName").EqualTo("offset"));
            Assert.That(() => account.GetBanned(out buf, count: -1), Throws.InstanceOf<ArgumentException>().And.Property("ParamName").EqualTo("count"));
        }
예제 #3
0
        public void GetBanned_IncorrectParameters_ThrowArgumentException()
        {
            // TODO как то я сомневаюсь в необходимости таких проверок, нужно закрыть инициализацию объектов только внутри библиотеки
            var account = new AccountCategory(Api);

            int buf;
            Assert.That(() => account.GetBanned(out buf, offset: -1), Throws.InstanceOf<ArgumentException>().And.Property("ParamName").EqualTo("offset"));
            Assert.That(() => account.GetBanned(out buf, count: -1), Throws.InstanceOf<ArgumentException>().And.Property("ParamName").EqualTo("count"));
        }
예제 #4
0
        public void BanUser_IncorrectUserID_ThrowArgumentException()
        {
            var account = new AccountCategory(new VkApi { AccessToken = "token", Browser = null });

            // ReSharper disable AssignNullToNotNullAttribute
            Assert.That(() => account.BanUser(-10), Throws.InstanceOf<ArgumentException>().And.Property("ParamName").EqualTo("userId"));
            Assert.That(() => account.BanUser(0), Throws.InstanceOf<ArgumentException>().And.Property("ParamName").EqualTo("userId"));
            // ReSharper restore AssignNullToNotNullAttribute
        }
예제 #5
0
        public void BanUser_IncorrectUserID_ThrowArgumentException()
        {
            // TODO как то я сомневаюсь в необходимости таких проверок, нужно закрыть инициализацию объектов только внутри библиотеки
            var account = new AccountCategory(Api);

            // ReSharper disable AssignNullToNotNullAttribute
            Assert.That(() => account.BanUser(-10), Throws.InstanceOf<ArgumentException>().And.Property("ParamName").EqualTo("userId"));
            Assert.That(() => account.BanUser(0), Throws.InstanceOf<NullReferenceException>().And.Property("ParamName").EqualTo("userId"));
            // ReSharper restore AssignNullToNotNullAttribute
        }
예제 #6
0
        public void UnregisterDevice_NullOrEmptyToken_ThrowArgumentNullException()
        {
            var mock = new Mock<IBrowser>(MockBehavior.Strict);
            var account = new AccountCategory(new VkApi { AccessToken = "token", Browser = null });

            // ReSharper disable AssignNullToNotNullAttribute
            Assert.That(() => account.UnregisterDevice(null), Throws.InstanceOf<ArgumentNullException>());
            Assert.That(() => account.UnregisterDevice(string.Empty), Throws.InstanceOf<ArgumentNullException>());
            // ReSharper restore AssignNullToNotNullAttribute
        }
예제 #7
0
 public void UnregisterDevice_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     var account = new AccountCategory(new VkApi());
     This.Action(() => account.UnregisterDevice("tokenVal")).Throws<AccessTokenInvalidException>();
 }
예제 #8
0
 public void SetOnline_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     var account = new AccountCategory(new VkApi());
     account.SetOnline();
 }
예제 #9
0
 public void UnregisterDevice_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     var account = new AccountCategory(new VkApi());
     account.UnregisterDevice("tokenVal");
 }
예제 #10
0
 public void SetOffline_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     var account = new AccountCategory(new VkApi());// TODO как то я сомневаюсь в необходимости таких проверок, нужно закрыть инициализацию объектов только внутри библиотеки
     Assert.Throws<AccessTokenInvalidException>(() => account.SetOffline());
 }
예제 #11
0
 public void SetInfo_IncorrectUserID_ThrowInvalidParameterException()
 {
     var account = new AccountCategory(Api);
     Url = "https://api.vk.com/method/account.setInfo?name=intro&value=-10&v=" + VkApi.VkApiVersion + "&access_token=token";
     Json = @"{
         error: {
             error_code: 100,
             error_msg: 'One of the parameters specified was missing or invalid: value should be positive',
             request_params: [{
                 key: 'oauth',
                 value: '1'
             }, {
                 key: 'method',
                 value: 'account.setInfo'
             }, {
                 key: 'name',
                 value: 'intro'
             }, {
                 key: 'v',
                 value: '5.50'
             }, {
                 key: 'value',
                 value: '-10'
             }]
         }
     }";
     Assert.That(() => account.SetInfo("intro", "-10"), Throws.InstanceOf<InvalidParameterException>());
 }
예제 #12
0
 public void SaveProfileInfo_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     var account = new AccountCategory(new VkApi());
     ChangeNameRequest request;
     Assert.That(() => account.SaveProfileInfo(firstName: null), Throws.InstanceOf<AccessTokenInvalidException>());
     Assert.That(() => account.SaveProfileInfo(out request), Throws.InstanceOf<AccessTokenInvalidException>());
     Assert.That(() => account.SaveProfileInfo(10), Throws.InstanceOf<AccessTokenInvalidException>());
 }
예제 #13
0
 public void GetBanned_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     var account = new AccountCategory(new VkApi());
     int res;
     This.Action(() => account.GetBanned(out res)).Throws<AccessTokenInvalidException>();
 }
예제 #14
0
 public void SetNameInMenu_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     var account = new AccountCategory(new VkApi());
     This.Action(() => account.SetNameInMenu("name")).Throws<AccessTokenInvalidException>();
 }
예제 #15
0
        public void SetInfo_IncorrectUserID_ThrowArgumentException()
        {
            var account = new AccountCategory(new VkApi { AccessToken = "token", Browser = null });

            Assert.That(() => account.SetInfo(-10), Throws.InstanceOf<ArgumentException>().And.Property("ParamName").EqualTo("intro"));
        }
예제 #16
0
 public void GetProfileInfo_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     var account = new AccountCategory(new VkApi());
     This.Action(() => account.GetProfileInfo()).Throws<AccessTokenInvalidException>();
 }
예제 #17
0
 public void GetCounters_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     var account = new AccountCategory(new VkApi());
     This.Action(() => account.GetCounters(CountersFilter.All)).Throws<AccessTokenInvalidException>();
 }
예제 #18
0
 public void RegisterDevice_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     // TODO как то я сомневаюсь в необходимости таких проверок, нужно закрыть инициализацию объектов только внутри библиотеки
     var account = new AccountCategory(new VkApi());
     Assert.Throws<AccessTokenInvalidException>(() => account.RegisterDevice(new AccountRegisterDeviceParams
     {
         Token = "tokenVal",
         DeviceModel = null,
         SystemVersion = null
     }));
 }
예제 #19
0
 public void RegisterDevice_NullOrEmptyToken_ThrowArgumentNullException()
 {
     // TODO как то я сомневаюсь в необходимости таких проверок, нужно закрыть инициализацию объектов только внутри библиотеки
     var account = new AccountCategory(Api);
     Assert.That(() => account.RegisterDevice(new AccountRegisterDeviceParams
     {
         Token = null,
         DeviceModel = "example",
         SystemVersion = "example"
     }), Throws.InstanceOf<ArgumentNullException>());
     Assert.That(() => account.RegisterDevice(new AccountRegisterDeviceParams
     {
         Token = string.Empty,
         DeviceModel = "example",
         SystemVersion = "example"
     }), Throws.InstanceOf<ArgumentNullException>());
 }
예제 #20
0
 public void SetOnline_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     var account = new AccountCategory(new VkApi());
     This.Action(() => account.SetOnline()).Throws<AccessTokenInvalidException>();
 }
예제 #21
0
 public void SetSilenceMode_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     var account = new AccountCategory(new VkApi());
     This.Action(() => account.SetSilenceMode("tokenVal")).Throws<AccessTokenInvalidException>();
 }
예제 #22
0
 public void SetSilenceMode_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     // TODO как то я сомневаюсь в необходимости таких проверок, нужно закрыть инициализацию объектов только внутри библиотеки
     var account = new AccountCategory(new VkApi());
     //This.Action(() => account.SetSilenceMode("tokenVal")).Throws<AccessTokenInvalidException>();
     Assert.That(() => account.SetSilenceMode("tokenVal"), Throws.InstanceOf<AccessTokenInvalidException>());
 }
예제 #23
0
 public void SetSilenceMode_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     var account = new AccountCategory(new VkApi());
     account.SetSilenceMode("tokenVal");
 }
예제 #24
0
        public void UnregisterDevice_NullOrEmptyToken_ThrowArgumentNullException()
        {
            // TODO как то я сомневаюсь в необходимости таких проверок, нужно закрыть инициализацию объектов только внутри библиотеки
            var account = new AccountCategory(Api);

            // ReSharper disable AssignNullToNotNullAttribute
            Assert.That(() => account.UnregisterDevice(null), Throws.InstanceOf<ArgumentNullException>());
            Assert.That(() => account.UnregisterDevice(string.Empty), Throws.InstanceOf<ArgumentNullException>());
            // ReSharper restore AssignNullToNotNullAttribute
        }
예제 #25
0
        public void SetSilenceMode_NullOrEmptyToken_ThrowArgumentNullException()
        {
            var account = new AccountCategory(new VkApi { AccessToken = "token", Browser = null });

            // ReSharper disable AssignNullToNotNullAttribute
            Assert.That(() => account.SetSilenceMode(null), Throws.InstanceOf<ArgumentNullException>());
            Assert.That(() => account.SetSilenceMode(string.Empty), Throws.InstanceOf<ArgumentNullException>());
            // ReSharper restore AssignNullToNotNullAttribute
        }
예제 #26
0
 public void UnbanUser_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     var account = new AccountCategory(new VkApi());
     account.UnbanUser(42);
 }
예제 #27
0
 public void UnregisterDevice_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     // TODO как то я сомневаюсь в необходимости таких проверок, нужно закрыть инициализацию объектов только внутри библиотеки
     var account = new AccountCategory(new VkApi());
     Assert.Throws<AccessTokenInvalidException>(() => account.UnregisterDevice("tokenVal"));
 }
예제 #28
0
 public void UnbanUser_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     var account = new AccountCategory(new VkApi());
     This.Action(() => account.UnbanUser(42)).Throws<AccessTokenInvalidException>();
 }
예제 #29
0
파일: VkApi.cs 프로젝트: vknet/vk
        /// <summary>
        /// Инициализирует новый экземпляр класса <see cref="VkApi"/>.
        /// </summary>
        public VkApi(ICaptchaSolver captchaSolver = null)
        {
            Browser = new Browser();

            Users = new UsersCategory(this);
            Friends = new FriendsCategory(this);
            Status = new StatusCategory(this);
            Messages = new MessagesCategory(this);
            Groups = new GroupsCategory(this);
            Audio = new AudioCategory(this);
            Wall = new WallCategory(this);
            Board = new BoardCategory(this);
            Database = new DatabaseCategory(this);
            Utils = new UtilsCategory(this);
            Fave = new FaveCategory(this);
            Video = new VideoCategory(this);
            Account = new AccountCategory(this);
            Photo = new PhotoCategory(this);
            Docs = new DocsCategory(this);
            Likes = new LikesCategory(this);
            Pages = new PagesCategory(this);
            Gifts = new GiftsCategory(this);
            Apps = new AppsCategory(this);
            NewsFeed = new NewsFeedCategory(this);
            Stats = new StatsCategory(this);
            Auth = new AuthCategory(this);
            Markets = new MarketsCategory(this);
            Execute = new ExecuteCategory(this);

            RequestsPerSecond = 3;

            MaxCaptchaRecognitionCount = 5;
            _captchaSolver = captchaSolver;
        }
예제 #30
0
 public void GetBanned_AccessTokenInvalid_ThrowAccessTokenInvalidException()
 {
     var account = new AccountCategory(new VkApi());
     int res;
     account.GetBanned(out res);
 }