I think we are going to need to look at adding functional API tests. I recently 
committed a number of ui-tests which
prove that attachments are persisted in the database. They paste code into the 
edit window and expect a result which doesn't make me feel good about the tests 
but I don't see them as being meaningful without the database present.

Caleb

Vincent Massol wrote:
> Cool to have a test for this, thanks Alex.
> 
> However I think that in the near future we need to find a way to write these 
> type of tests as unit tests instead of functional tests since otherwise we're 
> going to have too many functional tests, which will lead to the following 
> problems:
> - take a lot of time to execute (and hence are not executed often + need more 
> machines, etc)
> - are hard to debug when they fail (since they're not unit tests)
> - do not make us improve the design of the code
> 
> WDYT?
> 
> Thanks
> -Vincent
> 
> PS: I haven't looked at this example in particular and my comment is general. 
> Maybe this is testing old code which would need some heavy refactoring before 
> we can write a unit test for it.
> 
> On Aug 27, 2010, at 11:33 AM, abusenius (SVN) wrote:
> 
>> Author: abusenius
>> Date: 2010-08-27 11:33:57 +0200 (Fri, 27 Aug 2010)
>> New Revision: 30768
>>
>> Modified:
>>   
>> enterprise/trunk/distribution-test/ui-tests/src/test/it/org/xwiki/it/ui/LoginTest.java
>> Log:
>> XWIKI-5434: Added a functional test
>>
>> Modified: 
>> enterprise/trunk/distribution-test/ui-tests/src/test/it/org/xwiki/it/ui/LoginTest.java
>> ===================================================================
>> --- 
>> enterprise/trunk/distribution-test/ui-tests/src/test/it/org/xwiki/it/ui/LoginTest.java
>>    2010-08-27 09:30:38 UTC (rev 30767)
>> +++ 
>> enterprise/trunk/distribution-test/ui-tests/src/test/it/org/xwiki/it/ui/LoginTest.java
>>    2010-08-27 09:33:57 UTC (rev 30768)
>> @@ -26,6 +26,7 @@
>> import org.xwiki.it.ui.administration.elements.GlobalRightsPage;
>> import org.xwiki.it.ui.framework.AbstractTest;
>> import org.xwiki.it.ui.framework.elements.LoginPage;
>> +import org.xwiki.it.ui.framework.elements.editor.WikiEditPage;
>> import org.xwiki.it.ui.xe.elements.HomePage;
>>
>> /**
>> @@ -114,4 +115,31 @@
>>             rights.unforceAuthenticatedView();
>>         }
>>     }
>> +
>> +    @Test
>> +    public void testRedirectPreservesPOSTParameters() throws 
>> InterruptedException
>> +    {
>> +        String test = "Test string " + System.currentTimeMillis();
>> +        final String space = "Main";
>> +        final String page = "POSTTest";
>> +        LoginPage loginPage = this.homePage.clickLogin();
>> +        loginPage.loginAsAdmin();
>> +        // start editing a page
>> +        WikiEditPage editPage = new WikiEditPage();
>> +        editPage.switchToEdit(space, page);
>> +        editPage.setTitle(test);
>> +        editPage.setContent(test);
>> +        // emulate expired session: delete the cookies
>> +        getDriver().manage().deleteAllCookies();
>> +        // try to save
>> +        editPage.clickSaveAndView();
>> +        // we should have been redirected to login
>> +        
>> Assert.assertTrue(getDriver().getCurrentUrl().startsWith(getUtil().getURL("XWiki",
>>  "XWikiLogin", "login")));
>> +        loginPage.loginAsAdmin();
>> +        // we should have been redirected back to view, and the page should 
>> have been saved
>> +        
>> Assert.assertTrue(getDriver().getCurrentUrl().startsWith(getUtil().getURL(space,
>>  page)));
>> +        editPage.switchToEdit(space, page);
>> +        Assert.assertEquals(test, editPage.getTitle());
>> +        Assert.assertEquals(test, editPage.getContent());
>> +    }
>> }
>>
>> _______________________________________________
>> notifications mailing list
>> [email protected]
>> http://lists.xwiki.org/mailman/listinfo/notifications
> 
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
> 

_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs

Reply via email to