Esempio n. 1
0
        public async Task <UTResponse> CreateInteractionAndSentEventAsync(IUTEvent utEvent, CancellationToken cancelToken = default(CancellationToken))
        {
            UTResponse interactionResponse = null;


            Collection <IUTEvent> events = new Collection <IUTEvent>();

            events.Add(utEvent);

            var interaction = new UTInteraction
                              (
                this.defaultInteraction.CampaignId,
                this.defaultInteraction.ChannelId,
                events,
                this.defaultInteraction.Initiator,
                this.defaultInteraction.UserAgent,
                this.defaultInteraction.VenueId,
                this.defaultInteraction.Contact
                              );

            var interactionRequest = new TrackInteractionParameters(null, interaction);

            interactionResponse = await this.TrackInteractionAsync(interactionRequest, cancelToken);

            return(interactionResponse);
        }
        public void TestInteractionCorrectRequest()
        {
            var parameters = new TrackInteractionParameters(this.sessionConfig, this.testInteraction);

            var url = this.interactionUrlBuilder.GetUrlForRequest(parameters);

            Assert.AreEqual("https://localhost/interaction", url);
        }
        public void TestInteractionNullParams()
        {
            TestDelegate action = () =>
            {
                var parameters = new TrackInteractionParameters(this.sessionConfig, null);

                this.interactionUrlBuilder.GetUrlForRequest(parameters);
            };

            Assert.Throws <ArgumentNullException>(action);
        }
Esempio n. 4
0
        public override ITrackInteractionRequest Build()
        {
            this.CheckDefaultsAndThrow();

            this.InteractioinParametersAccumulator = new UTInteraction(
                this.InteractioinParametersAccumulator.CampaignId,
                this.InteractioinParametersAccumulator.ChannelId,
                this.EventsAggregator,
                this.InteractioinParametersAccumulator.Initiator,
                this.InteractioinParametersAccumulator.UserAgent,
                this.InteractioinParametersAccumulator.VenueId,
                this.ContactAggregator
                );

            TrackInteractionParameters result =
                new TrackInteractionParameters(null, this.InteractioinParametersAccumulator);

            return(result);
        }