Example #1
0
        public void CreateShouldReturnCreatedID()
        {
            var newScene = new Scene()
            {
                ID = 1
            };
            var newScript = new Script()
            {
                ID = 1
            };
            var newScriptCreate = new ScriptCreate {
                PilotID = 1,
                Scenes  = new List <SceneCreate> {
                    new SceneCreate()
                }
            };

            _aviMock.Setup(x => x.AddScene(It.IsAny <Scene>())).Returns(newScene);
            _aviMock.Setup(x => x.AddScript(It.IsAny <Script>())).Returns(newScript);

            var newAviqtorBL = new ScriptController(_aviMock.Object, _blobSC);
            var result       = newAviqtorBL.Create(newScriptCreate);

            Assert.IsAssignableFrom <CreatedID>(result);
            Assert.Equal(result.ID, newScriptCreate.PilotID);
            _aviMock.Verify(x => x.AddScene(It.IsAny <Scene>()));
        }
        public async Task CreateShouldReturnCreatedID()
        {
            var newScene = new Scene()
            {
                ID = 1
            };
            var newScript = new Script()
            {
                ID = 1
            };
            var ccMock          = new Mock <BlobContainerClient>();
            var bcMock          = new Mock <BlobClient>();
            var newScriptCreate = new ScriptCreate {
                PilotID = 1,
                Scenes  = new List <SceneCreate> {
                    new SceneCreate()
                }
            };

            _aviMock.Setup(x => x.AddScene(It.IsAny <Scene>())).Returns(newScene);
            _aviMock.Setup(x => x.AddScript(It.IsAny <Script>())).Returns(newScript);
            // _bscMock.Setup(x => x.CreateBlobContainer(It.IsAny<string>())).Returns(ccMock);

            var newAviqtorBL = new ScriptController(_aviMock.Object, _bscMock.Object);
            var result       = newAviqtorBL.Create(newScriptCreate);

            Assert.IsAssignableFrom <CreatedID>(result);
            Assert.Equal(result.ID, newScriptCreate.PilotID);
            _aviMock.Verify(x => x.AddScene(It.IsAny <Scene>()));
        }
        public CreatedID Create(ScriptCreate apiModel)
        {
            string scriptURL = null;
            Script sc        = _aviBL.GetScriptByPilotID(apiModel.PilotID);

            if (sc != null)
            {
                scriptURL = sc.ScriptURL;
                _aviBL.DeleteScriptIfExists(apiModel.PilotID);
            }
            _aviBL.DeleteScenesIfExists(apiModel.PilotID);
            foreach (SceneCreate sceneApiModel in apiModel.Scenes)
            {
                sceneApiModel.PilotID = apiModel.PilotID;
                _aviBL.AddScene(sceneApiModel.ToDLModel());
            }
            BlobContainerClient containerClient = _blobSC.GetBlobContainerClient($"pilot{apiModel.PilotID}");

            if (!containerClient.Exists())
            {
                containerClient = _blobSC.CreateBlobContainer($"pilot{apiModel.PilotID}", Azure.Storage.Blobs.Models.PublicAccessType.BlobContainer);
            }
            else if (scriptURL != null)
            {
                containerClient.DeleteBlob(scriptURL.Substring(scriptURL.LastIndexOf('/') + 1));
            }
            BlobClient blobClient = containerClient.GetBlobClient($"script{Guid.NewGuid().ToString()}.html");

            blobClient.Upload(GenerateStreamFromString(apiModel.ScriptBody));
            apiModel.ScriptURL = blobClient.Uri.AbsoluteUri;
            return(new CreatedID {
                ID = _aviBL.AddScript(apiModel.ToDLModel()).ID
            });
        }
Example #4
0
        public async Task ScriptCreate_ToDLModelShouldMapToScript()
        {
            var newScriptCreate = new ScriptCreate
            {
                PilotID = 1,
                //ScriptURL = "ScriptURL", // I can't access this because it's internal
                UserID = 1,
            };
            var result = newScriptCreate.ToDLModel();

            Assert.Equal(newScriptCreate.PilotID, result.PilotID);
            Assert.Equal(newScriptCreate.UserID, result.ScriptWriterID);
        }
Example #5
0
        public CreatedID Create(ScriptCreate apiModel)
        {
            foreach (SceneCreate sceneApiModel in apiModel.Scenes)
            {
                sceneApiModel.PilotID = apiModel.PilotID;
                _aviBL.AddScene(sceneApiModel.ToDLModel());
            }
            BlobContainerClient containerClient = _blobSC.CreateBlobContainer($"pilot{apiModel.PilotID}", Azure.Storage.Blobs.Models.PublicAccessType.BlobContainer);
            BlobClient          blobClient      = containerClient.GetBlobClient($"script{Guid.NewGuid().ToString()}.html");

            blobClient.Upload(GenerateStreamFromString(apiModel.ScriptBody));
            apiModel.ScriptURL = blobClient.Uri.AbsoluteUri;
            return(new CreatedID {
                ID = _aviBL.AddScript(apiModel.ToDLModel()).ID
            });
        }