Ejemplo n.º 1
0
        public SampleDataControllerTests()
        {
            jiraClient   = new Mock <IJiraClient>();
            memoryCache  = new Mock <IMemoryCache>();
            boardCreator = new Mock <IBoardCreator>();
            dbClient     = new Mock <IDbClient>();
            credentials  = new Credentials {
                Username = "", Password = ""
            };
            credentialsString = credentials.Username + ":" + credentials.Password;
            presentationId    = "1";

            presentationDbModel = new BoardPresentationDbModel
            {
                Id          = presentationId,
                Credentials = credentials,
            };

            userSettings = Options.Create(new UserSettings
            {
                RefreshRateMax = 100,
                RefreshRateMin = 1,
                TimeShownMax   = 100,
                TimeShownMin   = 1
            });

            cachedBoard = new Board("74");

            testBoard1 = new Board("74");
            testBoard2 = new Board("80");

            controller = new SampleDataController(memoryCache.Object, jiraClient.Object, boardCreator.Object, dbClient.Object);
        }
Ejemplo n.º 2
0
        public void SavePresentation_Should_Return_Ok_And_A_Presentation_Without_Credentials_If_No_Password_Supplied()
        {
            // Arrange
            var boardPresentationDbModel = new BoardPresentationDbModel
            {
                Credentials = boardPresentation.Credentials
            };

            boardPresentation.Credentials.Password = null;
            dbClient.Setup(a => a.GetPresentation(It.IsAny <string>())).Returns(Task.FromResult(boardPresentationDbModel)).Verifiable();
            ldapClient.Setup(s => s.CheckCredentials(It.IsAny <string>(), It.IsAny <string>(), false)).Returns(true).Verifiable();

            // Act
            var actual = controller.SavePresentation(boardPresentation).Result as OkObjectResult;

            // Assert
            dbClient.Verify();
            ldapClient.Verify();
            Assert.NotNull(actual);
            Assert.Equal(200, actual.StatusCode);
            Assert.NotNull(actual.Value);

            Assert.Equal("3", (actual.Value as BoardPresentation).Id);
            Assert.Equal("third presentation", (actual.Value as BoardPresentation).Title);
            Assert.Equal("third owner", (actual.Value as BoardPresentation).Owner);
            Assert.Null((actual.Value as BoardPresentation).Credentials);
            Assert.Equal("74", (actual.Value as BoardPresentation).Boards.Values.ElementAt(0).Id);
            Assert.Equal("75", (actual.Value as BoardPresentation).Boards.Values.ElementAt(1).Id);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Helper function to get board names from Jira.
        /// </summary>
        /// <param name="boardPresentationDbModel">An object containing presentation data stored in db, which will be supplemented with board names from Jira.</param>
        /// <returns>An object containing all necessary information about a presentation.</returns>
        public async Task <BoardPresentation> MakeViewable(BoardPresentationDbModel boardPresentationDbModel)
        {
            var boardPresentation = new BoardPresentation
            {
                Id          = boardPresentationDbModel.Id,
                Title       = boardPresentationDbModel.Title,
                Owner       = boardPresentationDbModel.Owner,
                Credentials = boardPresentationDbModel.Credentials,
                Boards      = new FullBoardList
                {
                    Values = new List <Value>()
                }
            };

            foreach (var boardDbModel in boardPresentationDbModel.Boards)
            {
                var boardName = await jiraClient.GetBoardDataAsync <BoardName>("agile/1.0/board/" + boardDbModel.Id, boardPresentation.Credentials);

                boardPresentation.Boards.Values.Add(new Value
                {
                    Id          = boardDbModel.Id,
                    Name        = (boardName == null) ? "<panelis nepieejams>" : boardName.Name,
                    Visibility  = boardDbModel.Visibility,
                    TimeShown   = boardDbModel.TimeShown,
                    RefreshRate = boardDbModel.RefreshRate
                });
            }

            return(boardPresentation);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Saves a presentation to database.
        /// </summary>
        /// <param name="entry">An object containing presentation data to be saved.</param>
        /// <returns>The result of the save operation.</returns>
        public async Task <Task> SavePresentationsAsync(BoardPresentation entry)
        {
            if (string.IsNullOrEmpty(entry.Id))
            {
                entry.Id = (await GeneratePresentationId()).ToString();
            }

            var entryDbModel = new BoardPresentationDbModel
            {
                Id          = entry.Id,
                Title       = entry.Title,
                Owner       = entry.Owner,
                Credentials = entry.Credentials,
                Boards      = new List <BoardDbModel>()
            };

            foreach (var board in entry.Boards.Values)
            {
                entryDbModel.Boards.Add(new BoardDbModel
                {
                    Id          = board.Id,
                    Visibility  = board.Visibility,
                    TimeShown   = board.TimeShown,
                    RefreshRate = board.RefreshRate
                });
            }

            if (entryDbModel.Id == null)
            {
                return(presentationCollection.InsertOneAsync(entryDbModel));
            }
            return(presentationCollection.ReplaceOneAsync(i => i.Id == entryDbModel.Id, entryDbModel, new UpdateOptions {
                IsUpsert = true
            }));
        }
Ejemplo n.º 5
0
        public JiraClientTests()
        {
            dbClient   = new Mock <IDbClient>();
            jiraClient = new Mock <JiraClient>(dbClient.Object)
            {
                CallBase = true
            };
            credentials = new Credentials {
                Username = "", Password = ""
            };
            presentationId = "1";

            presentationDbModel = new BoardPresentationDbModel
            {
                Id          = presentationId,
                Credentials = credentials,
            };

            firstPage = new BoardList()
            {
                IsLast = false,
                Values = new List <Value>()
                {
                    new Value {
                        Id = "74"
                    },
                    new Value {
                        Id = "75"
                    },
                },
                StartAt    = 0,
                MaxResults = 2
            };

            secondPage = new BoardList()
            {
                IsLast = true,
                Values = new List <Value>()
                {
                    new Value {
                        Id = "76"
                    },
                    new Value {
                        Id = "77"
                    },
                },
                StartAt    = 2,
                MaxResults = 2
            };
        }
Ejemplo n.º 6
0
        public PresentationsControllerTests()
        {
            jiraClient  = new Mock <IJiraClient>();
            dbClient    = new Mock <IDbClient>();
            ldapClient  = new Mock <ILdapClient>();
            credentials = new Credentials {
                Username = "", Password = ""
            };

            presentation1 = new BoardPresentationDbModel()
            {
                Id          = "1",
                Title       = "first presentation",
                Owner       = "first owner",
                Credentials = new Credentials
                {
                    Username = "******",
                    Password = "******"
                },
                Boards = new List <BoardDbModel>()
                {
                    new BoardDbModel()
                    {
                        Id = "74"
                    },
                    new BoardDbModel()
                    {
                        Id = "75"
                    }
                }
            };

            presentation2 = new BoardPresentationDbModel()
            {
                Id          = "2",
                Title       = "second presentation",
                Owner       = "second owner",
                Credentials = new Credentials
                {
                    Username = "******",
                    Password = "******"
                },
                Boards = new List <BoardDbModel>()
                {
                    new BoardDbModel()
                    {
                        Id = "76"
                    },
                    new BoardDbModel()
                    {
                        Id = "77"
                    }
                }
            };

            boardPresentation = new BoardPresentation
            {
                Id          = "3",
                Title       = "third presentation",
                Owner       = "third owner",
                Credentials = new Credentials
                {
                    Username = "******",
                    Password = "******"
                },
                Boards = new FullBoardList
                {
                    Values = new List <Value>()
                    {
                        new Value()
                        {
                            Id = "74"
                        },
                        new Value()
                        {
                            Id = "75"
                        }
                    }
                }
            };

            presentationList = new List <BoardPresentationDbModel>()
            {
                presentation1,
                presentation2
            };

            boardName1 = new BoardName
            {
                Id   = "74",
                Name = "board1 name"
            };

            boardName2 = new BoardName
            {
                Id   = "75",
                Name = "board2 name"
            };

            controller = new PresentationsController(jiraClient.Object, dbClient.Object, ldapClient.Object);
        }