示例#1
0
        public void GetIdentifiers_StandardProcedure_AListOfStringsIsReturned()
        {
            bool found = false;

            WikiAccount account = new WikiAccount();

            account.AccountName = "foobar";
            account.LoginName   = "barfoo";
            account.Password    = "******";
            account.WikiUrl     = new Uri("http://some.where.over/the/Rainbow");

            IWikiRepository repository       = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          targetIdentifier = repository.Store <WikiAccount>(account);

            foreach (string identifier in repository.GetIdentifiers())
            {
                Assert.IsFalse(String.IsNullOrEmpty(identifier));
                if (targetIdentifier == identifier)
                {
                    found = true;
                    break;
                }
            }

            Assert.IsTrue(found);
        }
示例#2
0
        public void Delete_SaveAndThenDeleteAWikiPage_ShouldBeDoneWithoutErrors()
        {
            WikiAccount account     = new WikiAccount();
            Wikipage    pageToStore = new Wikipage(account);

            pageToStore.WikiPageName    = "delete.php";
            pageToStore.WikiPageContent = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr sed diam nonumy eirmod tempor invidunt ut labore et dolore ...";

            IWikiRepository repository     = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          pageIdentifier = repository.Store <Wikipage>(pageToStore);

            repository.Delete(pageIdentifier);
        }
示例#3
0
        public void Store_StoreAWikiPage_BusinessObjectShouldBeStoredWithoutErrors()
        {
            WikiAccount account = new WikiAccount();
            Wikipage    page    = new Wikipage(account);

            page.WikiPageContent = "ölkjölkfsajdölkjafsd";
            page.WikiPageName    = "start.php";

            IWikiRepository repository = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          identifier = repository.Store <Wikipage>(page);

            Assert.IsFalse(String.IsNullOrEmpty(identifier));
            Assert.AreEqual(identifier, page.ObjectIdentifier);
        }
示例#4
0
        public void GetIdenitfiers_NoIdentifiersAtAll_WikiRepositoryExceptionIsThrown()
        {
            IWikiRepository repository = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);

            //Possible that there are already wiki objects loaded, because of the other tests.
            //If not the exception is already thrown here.
            foreach (string identifier in repository.GetIdentifiers())
            {
                repository.Delete(identifier);
            }

            //Now it should definitly throw the exception
            repository.GetIdentifiers();
        }
示例#5
0
        public void Constructor_RepositoryIsCreated_CreationWithoutErrors()
        {
            IWikiRepository repository = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);

            try
            {
                foreach (string identifier in repository.GetIdentifiers())
                {
                    Console.WriteLine("Loaded business object with identifier: {0}" + identifier);
                }
            }
            catch (WikiRepositoryException wre)
            {
                Console.WriteLine(wre.Message);
            }
        }
示例#6
0
        public void Store_StoreAModifiedWikiAccount_IdentifierShouldStayTheSame()
        {
            WikiAccount account     = new WikiAccount();
            Wikipage    pageToStore = new Wikipage(account);

            pageToStore.WikiPageName    = "first.php";
            pageToStore.WikiPageContent = "Lorem ipsum dolor sit amet";

            IWikiRepository repository      = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          firstIdentifier = repository.Store <Wikipage>(pageToStore);

            pageToStore.WikiPageContent = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr," +
                                          " sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.";
            string secondIdentifier = repository.Store <Wikipage>(pageToStore);

            Assert.AreEqual(firstIdentifier, secondIdentifier);
        }
示例#7
0
        public void Load_LoadAWikiAccount_IsLoadedWithoutErrors()
        {
            WikiAccount expectedAccount = new WikiAccount();

            expectedAccount.AccountName = "doodle";
            expectedAccount.LoginName   = "Dödel";
            expectedAccount.Password    = "******";
            expectedAccount.WikiUrl     = new Uri("http://www.doodle.ch/tinyurl/349");

            IWikiRepository repository       = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          targetIdenitfier = repository.Store <WikiAccount>(expectedAccount);

            WikiAccount targetAccount = repository.Load <WikiAccount>(targetIdenitfier);

            Assert.AreEqual(targetAccount, expectedAccount);
            Assert.IsTrue(targetAccount.Equals(expectedAccount));
        }
示例#8
0
        public void Store_StoreAWikiObjectUsingItsOwnIdenitfier_ShouldBeDoneWithoutErrors()
        {
            WikiAccount myOwnAccount = new WikiAccount();

            myOwnAccount.LoginName = "jfdsah";
            myOwnAccount.Password  = "******";
            myOwnAccount.WikiUrl   = new Uri("ftp://ftp.google.com/");

            IWikiRepository repository = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          accountId  = "MyOwnAccount";

            repository.Store <WikiAccount>(myOwnAccount, accountId);

            WikiAccount reloadedAccount = repository.Load <WikiAccount>(accountId);

            Assert.IsNotNull(reloadedAccount);
            Assert.AreEqual(myOwnAccount, reloadedAccount);
        }
示例#9
0
        public void Load_LoadAPersistedWikiPage_ShouldBeLoadedWithoutErrors()
        {
            WikiAccount account     = new WikiAccount();
            Wikipage    pageToStore = new Wikipage(account);

            pageToStore.WikiPageName    = "first.php";
            pageToStore.WikiPageContent = "Lorem ipsum dolor sit amet, consetetur sadipscing elitr ...";

            IWikiRepository repository     = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          pageIdentifier = repository.Store <Wikipage>(pageToStore);

            repository = null;
            repository = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);

            Wikipage loadedPage = repository.Load <Wikipage>(pageIdentifier);

            Assert.AreEqual(pageToStore, loadedPage);
        }
示例#10
0
        public void Load_LoadAManualPersistedWikiObject_IsLoadedAndAddedInRepository()
        {
            WikiAccount manualStoredAccount = new WikiAccount();

            manualStoredAccount.AccountName = "doodleidu";
            manualStoredAccount.LoginName   = "Dödeldidu";
            manualStoredAccount.Password    = "******";
            manualStoredAccount.WikiUrl     = new Uri("http://www.doodle.ch/tinyurl/987436219874");

            IWikiRepository repository       = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);
            string          targetIdenitfier = manualStoredAccount.Serialize(Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData) + "//DokuWikiStore//", ".wiki");

            WikiAccount loadedAccount = repository.Load <WikiAccount>(targetIdenitfier);

            Assert.IsNotNull(loadedAccount);
            Assert.AreEqual(manualStoredAccount, loadedAccount);

            string addedIdentifier = repository.GetIdentifiers().First(x => x.Equals(targetIdenitfier));

            Assert.AreEqual(addedIdentifier, targetIdenitfier);
        }
示例#11
0
        public void Delete_TryToDeleteAWikiObjectWhichDoesNotExists_AWikiRepositoryExceptionShouldBeThrown()
        {
            IWikiRepository repository = WikiRepositoryFactory.CreateRepository(WikiRepositoryType.FileRepository);

            repository.Delete("foo_bar_li");
        }