Example #1
0
        public async Task TestConnection()
        {
            var store  = new FakeSessionStore();
            var client = new TelegramClient(store, "");

            Assert.IsTrue(await client.Connect());
        }
Example #2
0
        public async Task Reconnect()
        {
            Authorized = false;
            store      = null;

            await this.ConnectClient();
        }
Example #3
0
        static async void Run()
        {
            var    store  = new FakeSessionStore();
            string Alert  = "ciao";
            TLUser user   = null;
            var    client = new TelegramClient(117, "b42", store);

            // if i call client with await it doesn't work
            client.ConnectAsync();
            if (client.IsUserAuthorized())
            {
                //get available contacts
                var result = await client.GetContactsAsync();

                //find recipient in contacts
                //   var userr = result.users.lists.Where(x => x.GetType() == typeof(TLUser)).Cast<TLUser>().FirstOrDefault(x => x.phone == "98" + TextBox1.Text);

                //send message
                await client.SendMessageAsync(new TLInputPeerUser()
                {
                    user_id = user.id
                }, Alert);
            }
            else
            {
                //excption here
                phoneCodeHash = await client.SendCodeRequestAsync("39");

                Task.WaitAll();
            }
        }
Example #4
0
        public async Task CheckThat_SessionWithNoSchedule_IsRequested()
        {
            var person         = PersonId.New();
            var start          = default(DateTimeOffset?);
            var end            = default(DateTimeOffset?);
            var repository     = new FakeSessionStore();
            var sessionQueries = new FakePersonProjectionStore();

            sessionQueries.AddPerson(person, "John Doe");
            var command = new RequestSession(new[] { person }, "super session", "Ca va etre chouette", new[] { "super", "chouette" }, start, end);
            var sut     = new RequestSessionCommandHandler(repository, sessionQueries);

            var(result, events) = await sut.ExecuteAsync(command);

            Check.That(result).InheritsFrom <SuccessCommandResult>();
            Check.That(events).CountIs(1);
            Check.That(events[0]).IsInstanceOf <SessionRequested>();
            var sessionRequestedEvent = (SessionRequested)events[0];
            var session = repository.Sessions[sessionRequestedEvent.Id];

            Check.That(session.Speakers).IsEquivalentTo(command.Speakers);
            Check.That(session.Title).IsEqualTo(command.Title);
            Check.That(session.Description).IsEqualTo(command.Description);
            Check.That(session.Tags).IsEquivalentTo(command.Tags);
            Check.That(session.Schedule).IsNull();
            Check.That(session.Status).IsEqualTo(SessionStatus.Requested);
        }
Example #5
0
        private async Task <bool> AuthWithFile()
        {
            //this.store = (new FileSessionStore());// "session.dat"
            this.store  = new FakeSessionStore();
            this.client = new TelegramClient(apiId, apiHash, this.store);
            await this.client.ConnectAsync();

            return(this.client.IsUserAuthorized() && this.client.IsConnected);
        }
Example #6
0
 public TLClient Connect()
 {
     try
     {
         FakeSessionStore session = new FakeSessionStore();
         TLClient         client  = new TLClient(api_id, api_hash, session, "session");
         var t = Task.Run(() => client.ConnectAsync());
         t.Wait();
         return(client);
     }
     catch (Exception ex)
     {
         throw;
     }
 }
Example #7
0
        public async Task CheckThat_SessionWithNoEnd_IsFailed()
        {
            var start          = new DateTimeOffset(2020, 1, 1, 0, 0, 0, TimeSpan.Zero);
            var end            = default(DateTimeOffset?);
            var repository     = new FakeSessionStore();
            var sessionQueries = new FakePersonProjectionStore();
            var command        = new RequestSession(new[] { PersonId.New() }, "super session", "Ca va etre chouette", new[] { "super", "chouette" }, start, end);
            var sut            = new RequestSessionCommandHandler(repository, sessionQueries);

            var(result, events) = await sut.ExecuteAsync(command);

            Check.That(result).InheritsFrom <ValidationFailureCommandResult>();
            Check.That(((FailureCommandResult)result).Reason).IsEqualTo("Schedule is invalid: End time cannot be null (Parameter 'endTime').");
            Check.That(events).CountIs(0);
            Check.That(repository.Sessions).CountIs(0);
        }
Example #8
0
        public async Task CheckThat_SessionWithUnknownSpeaker_IsFailed()
        {
            var person         = PersonId.New();
            var start          = default(DateTimeOffset?);
            var end            = default(DateTimeOffset?);
            var repository     = new FakeSessionStore();
            var sessionQueries = new FakePersonProjectionStore();
            var command        = new RequestSession(new[] { person }, "super session", "Ca va etre chouette", new[] { "super", "chouette" }, start, end);
            var sut            = new RequestSessionCommandHandler(repository, sessionQueries);

            var(result, events) = await sut.ExecuteAsync(command);

            Check.That(result).InheritsFrom <ValidationFailureCommandResult>();
            Check.That(((ValidationFailureCommandResult)result).Reason).IsEqualTo($"Speakers are invalid: unknown speakers");
            Check.That(((ValidationFailureCommandResult)result).Reason).IsEqualTo($"Speakers are invalid: unknown speakers");
            Check.That(events).CountIs(0);
            Check.That(repository.Sessions).CountIs(0);
        }