示例#1
0
        public void IntentRequestSetsName()
        {
            var request = new FluentSkillRequest().IntentRequest(BuiltInIntent.Help).And;
            var intent  = Assert.IsType <IntentRequest>(request.SkillRequest.Request);

            Assert.Equal(BuiltInIntent.Help, intent.Intent.Name);
        }
示例#2
0
        public void IntentRequestSetsDialogStatus()
        {
            var request = new FluentSkillRequest().IntentRequest(BuiltInIntent.Help, DialogState.Completed).And;
            var intent  = Assert.IsType <IntentRequest>(request.SkillRequest.Request);

            Assert.Equal(DialogState.Completed, intent.DialogState);
        }
示例#3
0
        public void IntentRequestSetsConfirmationStatus()
        {
            var request = new FluentSkillRequest().IntentRequest(BuiltInIntent.Help).WithConfirmationStatus(ConfirmationStatus.Confirmed).And;
            var intent  = Assert.IsType <IntentRequest>(request.SkillRequest.Request);

            Assert.Equal(ConfirmationStatus.Confirmed, intent.Intent.ConfirmationStatus);
        }
示例#4
0
        public void Session_OverrideSessionId()
        {
            var fluent  = new FluentSkillRequest();
            var session = fluent.Session;

            session.WithSessionId("sess");
            Assert.Equal("sess", fluent.SkillRequest.Session.SessionId);
        }
        public void Context_OverrideApiAccessToken()
        {
            var fluent  = new FluentSkillRequest();
            var context = fluent.Context;

            context.WithApiAccessToken("apiaccesswibble");
            Assert.Equal("apiaccesswibble", fluent.SkillRequest.Context.System.ApiAccessToken);
        }
        public void Context_OverrideUserId()
        {
            var fluent  = new FluentSkillRequest();
            var context = fluent.Context;

            context.WithUserId("user123");
            Assert.Equal("user123", fluent.SkillRequest.Context.System.User.UserId);
        }
        public void Context_OverrideApplicationId()
        {
            var fluent  = new FluentSkillRequest();
            var context = fluent.Context;

            context.WithApplicationId("appid1");
            Assert.Equal("appid1", fluent.SkillRequest.Context.System.Application.ApplicationId);
        }
        public void Context_OverrideDeviceId()
        {
            var fluent  = new FluentSkillRequest();
            var context = fluent.Context;

            context.WithDeviceId("devicetest");
            Assert.Equal("devicetest", fluent.SkillRequest.Context.System.Device.DeviceID);
        }
示例#9
0
        public void Session_OverrideNew()
        {
            var fluent  = new FluentSkillRequest();
            var session = fluent.Session;

            session.IsNew(false);
            Assert.False(fluent.SkillRequest.Session.New);
        }
示例#10
0
        public void Session_OverrideUserId()
        {
            var fluent  = new FluentSkillRequest();
            var session = fluent.Session;

            session.WithUserId("user123");
            Assert.Equal("user123", fluent.SkillRequest.Session.User.UserId);
        }
示例#11
0
        public void Session_OverrideAccessToken()
        {
            var fluent  = new FluentSkillRequest();
            var session = fluent.Session;

            session.WithAccessToken("access1");
            Assert.Equal("access1", fluent.SkillRequest.Session.User.AccessToken);
        }
示例#12
0
        public void Session_OverrideApplicationId()
        {
            var fluent  = new FluentSkillRequest();
            var session = fluent.Session;

            session.WithApplicationId("appid1");
            Assert.Equal("appid1", fluent.SkillRequest.Session.Application.ApplicationId);
        }
示例#13
0
        public void Session_AddAttribute()
        {
            var fluent  = new FluentSkillRequest();
            var session = fluent.Session;

            session.AddAttribute("attrib1", "test");
            Assert.Single(fluent.SkillRequest.Session.Attributes);
        }
        public void Context_OverrideAccessToken()
        {
            var fluent  = new FluentSkillRequest();
            var context = fluent.Context;

            context.WithAccessToken("access1");
            Assert.Equal("access1", fluent.SkillRequest.Context.System.User.AccessToken);
        }
示例#15
0
        public void LaunchRequest()
        {
            var request = new FluentSkillRequest().LaunchRequest().And;

            Assert.IsType <LaunchRequest>(request.SkillRequest.Request);
            Assert.Equal("en-US", request.SkillRequest.Request.Locale);
            Assert.Equal("requestId9", request.SkillRequest.Request.RequestId);
            Assert.True(request.SkillRequest.Request.Timestamp > DateTime.Now.AddMinutes(-1));
        }
        public void Context_AddDeviceSupport()
        {
            var fluent  = new FluentSkillRequest();
            var context = fluent.Context;

            context.AddInterface("testInterface");
            Assert.Single(fluent.SkillRequest.Context.System.Device.SupportedInterfaces);
            Assert.True(fluent.SkillRequest.Context.System.Device.IsInterfaceSupported("testInterface"));
        }
示例#17
0
        public void Session_AddAttribute_LastOneWins()
        {
            var fluent  = new FluentSkillRequest();
            var session = fluent.Session;

            session.AddAttribute("attrib1", "test");
            session.AddAttribute("attrib1", "test2");
            Assert.Single(fluent.SkillRequest.Session.Attributes);
            Assert.Equal("test2", fluent.SkillRequest.Session.Attributes["attrib1"]);
        }
示例#18
0
        public void AddSlotAddsKeyAndValue()
        {
            var request = new FluentSkillRequest().IntentRequest(BuiltInIntent.Help);

            request.AddSlot("test", "value");
            var intent = Assert.IsType <IntentRequest>(request.And.SkillRequest.Request);

            Assert.Single(intent.Intent.Slots);
            Assert.Equal("test", intent.Intent.Slots["test"].Name);
            Assert.Equal("value", intent.Intent.Slots["test"].Value);
        }
示例#19
0
        public void AddSlotAddsSlot()
        {
            var slot = new Slot {
                Name = "test"
            };
            var request = new FluentSkillRequest().IntentRequest(BuiltInIntent.Help);

            request.AddSlot(slot);
            var intent = Assert.IsType <IntentRequest>(request.And.SkillRequest.Request);

            Assert.Single(intent.Intent.Slots);
            Assert.Equal(slot, intent.Intent.Slots["test"]);
        }
        public void Context_OverridePlaybackState()
        {
            var fluent  = new FluentSkillRequest();
            var context = fluent.Context;
            var state   = new PlaybackState
            {
                OffsetInMilliseconds = 10,
                Token = "wibble"
            };

            context.WithPlaybackState(state);
            Assert.Equal(state, fluent.SkillRequest.Context.AudioPlayer);
        }
示例#21
0
        public void EmptyGeneratesSkillRequest()
        {
            var request = new FluentSkillRequest().SkillRequest;

            Assert.NotNull(request);
            Assert.NotNull(request.Session);

            var session = request.Session;

            Assert.True(session.New);
            Assert.Equal("testSession1", session.SessionId);
            Assert.Equal("testUser2", session.User.UserId);
            Assert.Equal("testAccessToken3", session.User.AccessToken);
            Assert.Equal("testApplication4", session.Application.ApplicationId);
            Assert.Equal("1.0", request.Version);
        }
 internal FluentSession(FluentSkillRequest fluentSkillRequest)
 {
     SkillRequest = fluentSkillRequest;
     Session      = new Session
     {
         New        = true,
         Attributes = new Dictionary <string, object>(),
         SessionId  = "testSession" + SkillRequest.NextRandom(),
         User       = new User
         {
             UserId      = "testUser" + SkillRequest.NextRandom(),
             AccessToken = "testAccessToken" + SkillRequest.NextRandom()
         },
         Application = new Application
         {
             ApplicationId = "testApplication" + SkillRequest.NextRandom()
         }
     };
 }
示例#23
0
 internal FluentContext(FluentSkillRequest skillRequest)
 {
     SkillRequest = skillRequest;
     Context      = new Context
     {
         AudioPlayer = null,
         System      = new AlexaSystem
         {
             User           = skillRequest.Session.Session.User,
             ApiEndpoint    = "https://api.amazonalexa.com",
             Application    = skillRequest.Session.Session.Application,
             ApiAccessToken = "apiAccess" + skillRequest.NextRandom(),
             Device         = new Device
             {
                 DeviceID            = "deviceId" + skillRequest.NextRandom(),
                 SupportedInterfaces = new Dictionary <string, object>()
             }
         }
     };
 }
示例#24
0
 public FluentIntentRequest(FluentSkillRequest skillRequest, string name) : base(skillRequest)
 {
     Name = name;
 }
示例#25
0
 public FluentSessionEndedRequest(FluentSkillRequest skillRequest) : base(skillRequest)
 {
 }
示例#26
0
        public void SessionEndedRequest()
        {
            var request = new FluentSkillRequest().SessionEndedRequest().And;

            Assert.IsType <SessionEndedRequest>(request.SkillRequest.Request);
        }
示例#27
0
 public FluentLaunchRequest(FluentSkillRequest skillRequest) : base(skillRequest)
 {
 }
示例#28
0
 protected FluentRequest(FluentSkillRequest skillRequest) : base(skillRequest)
 {
 }