public void TestGet()
        {
            string expectedJson = GetJsonPayload("/campaigns/campaignSoundsApi/response/getCampaignSound.json");
            var    restRequest  = MockRestResponse(expectedJson);

            CampaignSound campaignSound = Client.CampaignSoundsApi.Get(11);

            Assert.That(Serializer.Serialize(campaignSound), Is.EqualTo(expectedJson));
            Assert.AreEqual(Method.GET, restRequest.Value.Method);
            Assert.That(restRequest.Value.Resource, Does.EndWith("/11"));
        }
        public void TestUploadAndGetSoundDetails()
        {
            string expectedJson = GetJsonPayload("/campaigns/campaignSoundsApi/response/uploadSoundWithDetails.json");
            var    restRequest  = MockRestResponse(expectedJson);

            string        mp3FilePath = "Resources/File-examples/train.mp3";
            CampaignSound sound       = Client.CampaignSoundsApi.UploadAndGetSoundDetails(mp3FilePath, "fname");

            Assert.That(Serializer.Serialize(sound), Is.EqualTo(expectedJson));
            Assert.AreEqual(Method.POST, restRequest.Value.Method);
        }
        public void TestGet()
        {
            string expectedJson = GetJsonPayload("/campaigns/campaignSoundsApi/response/getCampaignSound.json");
            var    restRequest  = MockRestResponse(expectedJson);

            CampaignSound campaignSound = Client.CampaignSoundsApi.Get(11);

            Assert.That(Serializer.Serialize(campaignSound), Is.EqualTo(expectedJson));
            Assert.AreEqual(Method.GET, restRequest.Value.Method);
            Assert.That(restRequest.Value.Parameters, Has.None.Matches <Parameter>(p => p.Name.Equals("FIELDS") && p.Value.Equals(FIELDS)));
            Assert.That(restRequest.Value.Resource, Is.StringEnding("/11"));
        }
        public void TestUploadWithFileData()
        {
            string expectedJson = GetJsonPayload("/campaigns/campaignSoundsApi/response/uploadSoundWithDetails.json");
            var    restRequest  = MockRestResponse(expectedJson);

            string        mp3FilePath = GetFullPath("/Resources/File-examples/train.mp3");
            CampaignSound sound       = Client.CampaignSoundsApi.UploadAndGetSoundDetails(File.ReadAllBytes(mp3FilePath), "fname", FIELDS);

            Assert.That(restRequest.Value.Parameters, Has.None.Matches <Parameter>(p => p.Name.Equals("FIELDS") && p.Value.Equals(FIELDS)));
            Assert.That(Serializer.Serialize(sound), Is.EqualTo(expectedJson));
            Assert.AreEqual(Method.POST, restRequest.Value.Method);
        }
Exemple #5
0
        public void TestUploadMp3WavFilesAndGetThem()
        {
            String soundName = "mp3_test_" + DateTime.Now.ToString();

            string     mp3FilePath   = GetFullPath("/Resources/File-examples/train1.mp3");
            string     wavFilePath   = GetFullPath("/Resources/File-examples/train1.wav");
            ResourceId mp3ResourceId = Client.CampaignSoundsApi.Upload(mp3FilePath, soundName);
            ResourceId wavResourceId = Client.CampaignSoundsApi.Upload(wavFilePath);

            Assert.NotNull(mp3ResourceId.Id);
            Assert.NotNull(wavResourceId.Id);

            // get sound metadata
            CampaignSound campaignSound = Client.CampaignSoundsApi.Get(mp3ResourceId.Id, "name,status,lengthInSeconds");

            Assert.Null(campaignSound.Id);
            Assert.True(campaignSound.Name.Contains("mp3_test"));
            Assert.AreEqual(CampaignSound.SoundStatus.ACTIVE, campaignSound.Status);
            Assert.AreEqual(1, campaignSound.LengthInSeconds);

            // get mp3
            MemoryStream ms = (MemoryStream)Client.CampaignSoundsApi.GetMp3(mp3ResourceId.Id);
            string       existingFilePath  = GetFullPath("/Resources/File-examples/train1.mp3");
            string       pathToSaveNewFile = existingFilePath.Replace("train.mp3", "mp3_sound.mp3");

            File.WriteAllBytes(pathToSaveNewFile, ms.ToArray());

            // get wav
            ms = (MemoryStream)Client.CampaignSoundsApi.GetWav(wavResourceId.Id);
            existingFilePath  = GetFullPath("/Resources/File-examples/train1.wav");
            pathToSaveNewFile = existingFilePath.Replace("train.wav", "wav_sound.wav");
            File.WriteAllBytes(pathToSaveNewFile, ms.ToArray());

            CampaignSound mp3Resource = Client.CampaignSoundsApi.UploadAndGetSoundDetails(mp3FilePath, soundName, "id,name,created,lengthInSeconds,status,duplicate");

            Assert.True(mp3Resource.Name.Contains("mp3_test"));
            Assert.AreEqual(1, mp3Resource.LengthInSeconds);
            Assert.True((bool)mp3Resource.Duplicate);

            mp3Resource = Client.CampaignSoundsApi.UploadAndGetSoundDetails(mp3FilePath);
            Assert.True((bool)mp3Resource.Duplicate);

            mp3Resource = Client.CampaignSoundsApi.UploadAndGetSoundDetails(mp3FilePath, soundName);
            Assert.True((bool)mp3Resource.Duplicate);

            CampaignSound wavResource = Client.CampaignSoundsApi.UploadAndGetSoundDetails(wavFilePath);

            Assert.NotNull(wavResource.Id);
        }
Exemple #6
0
        public void TestUploadSoundWithFileDataAndDeleteIt()
        {
            String        soundName     = "mp3_test_" + DateTime.Now.ToString();
            string        mp3FilePath   = GetFullPath("/Resources/File-examples/train1.mp3");
            CampaignSound campaignSound = Client.CampaignSoundsApi.UploadAndGetSoundDetails(File.ReadAllBytes(mp3FilePath), soundName);

            Assert.NotNull(campaignSound.Id);

            Client.CampaignSoundsApi.Delete((long)campaignSound.Id);

            FindSoundsRequest request = new FindSoundsRequest {
                Filter = soundName
            };
            Page <CampaignSound> campaignSounds = Client.CampaignSoundsApi.Find(request);

            Assert.True(campaignSounds.Items.Count == 0);
        }
Exemple #7
0
        public void TestCallInToRecord()
        {
            CallCreateSound callCreateSound = new CallCreateSound
            {
                Name     = "call_in_sound_" + new DateTime().Millisecond,
                ToNumber = "12132212384"
            };

            ResourceId resourceId = Client.CampaignSoundsApi.RecordViaPhone(callCreateSound);

            Assert.NotNull(resourceId.Id);

            CampaignSound sound = Client.CampaignSoundsApi.RecordViaPhoneAndGetSoundDetails(callCreateSound, "id,name");

            Assert.NotNull(sound.Id);
            Assert.NotNull(sound.Name);
            Assert.Null(sound.Status);
        }
Exemple #8
0
        public void TestCreateFromTts()
        {
            TextToSpeech tts = new TextToSpeech {
                Message = "this is TTS message from csharp client"
            };
            ResourceId    resourceId    = Client.CampaignSoundsApi.CreateFromTts(tts);
            CampaignSound campaignSound = Client.CampaignSoundsApi.Get(resourceId.Id);

            Assert.AreEqual(resourceId.Id, campaignSound.Id);
            Assert.Greater(campaignSound.LengthInSeconds, 2);

            CampaignSound sound = Client.CampaignSoundsApi.CreateFromTtsAndGetSoundDetails(tts, "id,name");

            Assert.NotNull(sound.Id);
            Assert.NotNull(sound.Name);
            Assert.Null(sound.Status);
            Assert.AreEqual(sound.Id, campaignSound.Id);
        }
        public void TestCreateFromTtsAndGetSoundDetails()
        {
            string responseJson = GetJsonPayload("/campaigns/campaignSoundsApi/response/uploadSoundWithDetails.json");
            string requestJson  = GetJsonPayload("/campaigns/campaignSoundsApi/request/createFromTts.json");
            var    restRequest  = MockRestResponse(responseJson);

            TextToSpeech textToSpeech = new TextToSpeech
            {
                Voice   = Voice.MALE1,
                Message = "This is a TTS sound"
            };

            CampaignSound sound = Client.CampaignSoundsApi.CreateFromTtsAndGetSoundDetails(textToSpeech, FIELDS);

            Assert.That(Serializer.Serialize(sound), Is.EqualTo(responseJson));
            Assert.AreEqual(Method.POST, restRequest.Value.Method);
            var requestBodyParam = restRequest.Value.Parameters.FirstOrDefault(p => p.Type == ParameterType.RequestBody);

            Assert.That(requestBodyParam.Value, Is.EqualTo(requestJson));
            Assert.That(restRequest.Value.Parameters, Has.None.Matches <Parameter>(p => p.Name.Equals("FIELDS") && p.Value.Equals(FIELDS)));
        }
        public void TestRecordViaPhoneAndGetSoundDetails()
        {
            string responseJson = GetJsonPayload("/campaigns/campaignSoundsApi/response/uploadSoundWithDetails.json");
            string requestJson  = GetJsonPayload("/campaigns/campaignSoundsApi/request/recordViaPhone.json");
            var    restRequest  = MockRestResponse(responseJson);

            CallCreateSound callCreateSound = new CallCreateSound
            {
                Name     = "My sound file",
                ToNumber = "12135551122"
            };

            CampaignSound sound = Client.CampaignSoundsApi.RecordViaPhoneAndGetSoundDetails(callCreateSound, FIELDS);

            Assert.That(Serializer.Serialize(sound), Is.EqualTo(responseJson));
            Assert.AreEqual(Method.POST, restRequest.Value.Method);
            var requestBodyParam = restRequest.Value.Parameters.FirstOrDefault(p => p.Type == ParameterType.RequestBody);

            Assert.That(requestBodyParam.Value, Is.EqualTo(requestJson));
            Assert.That(restRequest.Value.Parameters, Has.None.Matches <Parameter>(p => p.Name.Equals("FIELDS") && p.Value.Equals(FIELDS)));
        }
Exemple #11
0
 public static void Main(string[] args)
 {
     var client = new CallfireClient("api_login", "api_password");
     // limit returned fields if needed, e.g. "name,status,lengthInSeconds"
     CampaignSound campaignSound = client.CampaignSoundsApi.Get(379506003, "name,lengthInSeconds");
 }