]> source.dussan.org Git - archiva.git/blob
67ce4271a392e4a8812548da790523c617f1dd04
[archiva.git] /
1 package org.apache.maven.archiva.web.test;
2
3 /*
4  * Licensed to the Apache Software Foundation (ASF) under one
5  * or more contributor license agreements.  See the NOTICE file
6  * distributed with this work for additional information
7  * regarding copyright ownership.  The ASF licenses this file
8  * to you under the Apache License, Version 2.0 (the
9  * "License"); you may not use this file except in compliance
10  * with the License.  You may obtain a copy of the License at
11  *
12  *   http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing,
15  * software distributed under the License is distributed on an
16  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17  * KIND, either express or implied.  See the License for the
18  * specific language governing permissions and limitations
19  * under the License.
20  */
21
22 public class SearchTest
23     extends AbstractArchivaTestCase
24 {
25     private static int PAGE_LOAD_WAIT = 1500;
26     
27     public void testSearchNonExistingArtifact()
28     {
29         searchForArtifact( "asdf" );
30         
31         waitPage( PAGE_LOAD_WAIT );
32
33         assertTextPresent( "No results found" );
34     }
35
36     public void testSearchExistingArtifact()
37     {
38         searchForArtifact( "artifact-a" );
39
40         waitPage( PAGE_LOAD_WAIT );
41         
42         assertPage( "Search Results" );
43         
44         assertTextPresent( "artifact-a" );
45     }
46
47     public void testViewSearchedArtifact()
48     {
49         // test viewing artifact (header link) listed in search results 
50
51         searchForArtifact( "artifact-a" );
52         
53         waitPage( PAGE_LOAD_WAIT );
54
55         getSelenium().click( "link=artifact-a" );
56         
57         waitPage( PAGE_LOAD_WAIT );
58
59         assertPage( "Browse Repository" );
60
61         assertTextPresent( "artifact-a" );
62
63         //test viewing artifact listed in search results
64         
65         searchForArtifact( "artifact-a" );
66         
67         waitPage( PAGE_LOAD_WAIT );
68
69         clickLinkWithText( "1.0" );
70         
71         waitPage( PAGE_LOAD_WAIT );
72         
73         assertPage( "Browse Repository" );
74
75         assertTextPresent( "Artifact ID" );
76
77         assertTextPresent( "artifact-a" );
78
79         assertTextPresent( "Version" );
80
81         assertTextPresent( "1.0" );
82     }
83
84     public void testBrowseSearchedArtifact()
85     {
86         // test viewing artifact listed in search results 
87
88         searchForArtifact( "artifact-a" );
89         
90         waitPage( PAGE_LOAD_WAIT );
91
92         getSelenium().click("//p[1]/span/a[1]");
93         
94         waitPage( PAGE_LOAD_WAIT );
95
96         assertPage( "Browse Repository" );
97
98         assertTextPresent( "artifact-a" );
99     }
100
101     public void testBrowseRepoFromSearchResults()
102     {
103         searchForArtifact( "artifact-a" );
104         
105         waitPage( PAGE_LOAD_WAIT );
106
107         clickLinkWithText( "[top]" );
108         
109         waitPage( PAGE_LOAD_WAIT );
110         
111         assertPage( "Browse Repository" );
112     }
113
114     private void searchForArtifact( String artifactId )
115     {
116         if ( !"Maven Archiva :: Quick Search".equals( getSelenium().getTitle() ) )
117         {
118             clickLinkWithText( "Search" );
119             
120             waitPage( PAGE_LOAD_WAIT );
121             
122             assertPage( "Quick Search" );
123         }
124
125         setFieldValue( "quickSearch_q", artifactId );
126
127         clickButtonWithValue( "Submit" );
128     }
129 }