SelfHoster: Keep trying pg_ctl after starting postgres.
[online-glom:gwt-glom.git] / src / test / java / org / glom / web / server / SelfHostExampleTest.java
1 /*
2  * Copyright (C) 2012 Openismus GmbH
3  *
4  * This file is part of GWT-Glom.
5  *
6  * GWT-Glom is free software: you can redistribute it and/or modify it
7  * under the terms of the GNU Lesser General Public License as published by the
8  * Free Software Foundation, either version 3 of the License, or (at your
9  * option) any later version.
10  *
11  * GWT-Glom is distributed in the hope that it will be useful, but WITHOUT
12  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License
14  * for more details.
15  *
16  * You should have received a copy of the GNU Lesser General Public License
17  * along with GWT-Glom.  If not, see <http://www.gnu.org/licenses/>.
18  */
19
20 package org.glom.web.server;
21
22 import static org.junit.Assert.assertTrue;
23
24 import java.net.URL;
25
26 import org.glom.web.server.libglom.Document;
27 import org.glom.web.server.libglom.Document.HostingMode;
28 import org.junit.Test;
29
30 /**
31  * @author Murray Cumming <murrayc@openismus.com>
32  * 
33  */
34 public class SelfHostExampleTest {
35
36         @Test
37         public void test() {
38                 final URL url = SelfHostExampleTest.class.getResource("example_music_collection.glom");
39                 assertTrue(url != null);
40                 final String uri = url.toString();
41
42                 final Document document = new Document();
43                 document.setFileURI(uri);
44                 assertTrue(document.load());
45
46                 final SelfHoster selfHoster = new SelfHoster(document);
47                 final boolean hosted = selfHoster.createAndSelfHostFromExample(HostingMode.HOSTING_MODE_POSTGRES_SELF);
48                 assertTrue(hosted);
49
50                 // TODO: Make sure that this is always called.
51                 selfHoster.cleanup();
52         }
53 }