You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

NetworkProxyAdminTest.java 7.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. package org.apache.archiva.admin.repository.networkproxy;
  2. /*
  3. * Licensed to the Apache Software Foundation (ASF) under one
  4. * or more contributor license agreements. See the NOTICE file
  5. * distributed with this work for additional information
  6. * regarding copyright ownership. The ASF licenses this file
  7. * to you under the Apache License, Version 2.0 (the
  8. * "License"); you may not use this file except in compliance
  9. * with the License. You may obtain a copy of the License at
  10. *
  11. * http://www.apache.org/licenses/LICENSE-2.0
  12. *
  13. * Unless required by applicable law or agreed to in writing,
  14. * software distributed under the License is distributed on an
  15. * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  16. * KIND, either express or implied. See the License for the
  17. * specific language governing permissions and limitations
  18. * under the License.
  19. */
  20. import org.apache.archiva.admin.model.beans.NetworkProxy;
  21. import org.apache.archiva.admin.model.beans.RemoteRepository;
  22. import org.apache.archiva.admin.model.networkproxy.NetworkProxyAdmin;
  23. import org.apache.archiva.admin.repository.AbstractRepositoryAdminTest;
  24. import org.apache.archiva.metadata.model.facets.AuditEvent;
  25. import org.junit.Test;
  26. import javax.inject.Inject;
  27. /**
  28. * @author Olivier Lamy
  29. */
  30. public class NetworkProxyAdminTest
  31. extends AbstractRepositoryAdminTest
  32. {
  33. @Inject
  34. private NetworkProxyAdmin networkProxyAdmin;
  35. @Test
  36. public void getAllEmpty()
  37. throws Exception
  38. {
  39. assertNotNull( networkProxyAdmin.getNetworkProxies() );
  40. }
  41. @Test
  42. public void addAndDelete()
  43. throws Exception
  44. {
  45. mockAuditListener.clearEvents();
  46. int initialSize = networkProxyAdmin.getNetworkProxies().size();
  47. NetworkProxy networkProxy = getNetworkProxyTest( "foo" );
  48. networkProxyAdmin.addNetworkProxy( networkProxy, getFakeAuditInformation() );
  49. assertEquals( initialSize + 1, networkProxyAdmin.getNetworkProxies().size() );
  50. networkProxy = networkProxyAdmin.getNetworkProxy( "foo" );
  51. assertNotNull( networkProxy );
  52. assertEquals( getNetworkProxyTest( "foo" ).getId(), networkProxy.getId() );
  53. assertEquals( getNetworkProxyTest( "foo" ).getHost(), networkProxy.getHost() );
  54. assertEquals( getNetworkProxyTest( "foo" ).getPassword(), networkProxy.getPassword() );
  55. assertEquals( getNetworkProxyTest( "foo" ).getPort(), networkProxy.getPort() );
  56. assertEquals( getNetworkProxyTest( "foo" ).getUsername(), networkProxy.getUsername() );
  57. assertEquals( getNetworkProxyTest( "foo" ).getProtocol(), networkProxy.getProtocol() );
  58. networkProxyAdmin.deleteNetworkProxy( "foo", getFakeAuditInformation() );
  59. assertNull( networkProxyAdmin.getNetworkProxy( "foo" ) );
  60. assertEquals( 2, mockAuditListener.getAuditEvents().size() );
  61. assertEquals( AuditEvent.ADD_NETWORK_PROXY, mockAuditListener.getAuditEvents().get( 0 ).getAction() );
  62. assertEquals( AuditEvent.DELETE_NETWORK_PROXY, mockAuditListener.getAuditEvents().get( 1 ).getAction() );
  63. mockAuditListener.clearEvents();
  64. }
  65. @Test
  66. public void addAndUpdateAndDelete()
  67. throws Exception
  68. {
  69. mockAuditListener.clearEvents();
  70. int initialSize = networkProxyAdmin.getNetworkProxies().size();
  71. NetworkProxy networkProxy = getNetworkProxyTest( "foo" );
  72. networkProxyAdmin.addNetworkProxy( networkProxy, getFakeAuditInformation() );
  73. assertEquals( initialSize + 1, networkProxyAdmin.getNetworkProxies().size() );
  74. networkProxy = networkProxyAdmin.getNetworkProxy( "foo" );
  75. assertNotNull( networkProxy );
  76. assertEquals( getNetworkProxyTest( "foo" ).getId(), networkProxy.getId() );
  77. assertEquals( getNetworkProxyTest( "foo" ).getHost(), networkProxy.getHost() );
  78. assertEquals( getNetworkProxyTest( "foo" ).getPassword(), networkProxy.getPassword() );
  79. assertEquals( getNetworkProxyTest( "foo" ).getPort(), networkProxy.getPort() );
  80. assertEquals( getNetworkProxyTest( "foo" ).getUsername(), networkProxy.getUsername() );
  81. assertEquals( getNetworkProxyTest( "foo" ).getProtocol(), networkProxy.getProtocol() );
  82. networkProxy.setHost( "https://toto.com" );
  83. networkProxy.setPassword( "newpasswd" );
  84. networkProxy.setPort( 9191 );
  85. networkProxy.setProtocol( "http" );
  86. networkProxy.setUsername( "newusername" );
  87. networkProxyAdmin.updateNetworkProxy( networkProxy, getFakeAuditInformation() );
  88. NetworkProxy updatedNetworkProxy = networkProxyAdmin.getNetworkProxy( "foo" );
  89. assertNotNull( updatedNetworkProxy );
  90. assertEquals( networkProxy.getId(), updatedNetworkProxy.getId() );
  91. assertEquals( networkProxy.getHost(), updatedNetworkProxy.getHost() );
  92. assertEquals( networkProxy.getPassword(), updatedNetworkProxy.getPassword() );
  93. assertEquals( networkProxy.getPort(), updatedNetworkProxy.getPort() );
  94. assertEquals( networkProxy.getUsername(), updatedNetworkProxy.getUsername() );
  95. assertEquals( networkProxy.getProtocol(), updatedNetworkProxy.getProtocol() );
  96. networkProxyAdmin.deleteNetworkProxy( "foo", getFakeAuditInformation() );
  97. assertEquals( 3, mockAuditListener.getAuditEvents().size() );
  98. assertEquals( AuditEvent.ADD_NETWORK_PROXY, mockAuditListener.getAuditEvents().get( 0 ).getAction() );
  99. assertEquals( AuditEvent.MODIFY_NETWORK_PROXY, mockAuditListener.getAuditEvents().get( 1 ).getAction() );
  100. assertEquals( AuditEvent.DELETE_NETWORK_PROXY, mockAuditListener.getAuditEvents().get( 2 ).getAction() );
  101. mockAuditListener.clearEvents();
  102. }
  103. /**
  104. * ensure we cleanup remote repos linked to a network proxy
  105. */
  106. @Test
  107. public void addAndDeleteWithRemoteRepoLinked()
  108. throws Exception
  109. {
  110. mockAuditListener.clearEvents();
  111. int initialSize = networkProxyAdmin.getNetworkProxies().size();
  112. NetworkProxy networkProxy = getNetworkProxyTest( "foo" );
  113. networkProxyAdmin.addNetworkProxy( networkProxy, getFakeAuditInformation() );
  114. assertEquals( initialSize + 1, networkProxyAdmin.getNetworkProxies().size() );
  115. networkProxy = networkProxyAdmin.getNetworkProxy( "foo" );
  116. assertNotNull( networkProxy );
  117. RemoteRepository remoteRepository = getRemoteRepository();
  118. remoteRepository.setRemoteDownloadNetworkProxyId( networkProxy.getId() );
  119. remoteRepositoryAdmin.addRemoteRepository( remoteRepository, getFakeAuditInformation() );
  120. networkProxyAdmin.deleteNetworkProxy( "foo", getFakeAuditInformation() );
  121. remoteRepository = remoteRepositoryAdmin.getRemoteRepository( getRemoteRepository().getId() );
  122. assertNull( remoteRepository.getRemoteDownloadNetworkProxyId() );
  123. remoteRepositoryAdmin.deleteRemoteRepository( getRemoteRepository().getId(), getFakeAuditInformation() );
  124. }
  125. protected NetworkProxy getNetworkProxyTest( String id )
  126. {
  127. NetworkProxy networkProxy = new NetworkProxy();
  128. networkProxy.setId( "foo" );
  129. networkProxy.setHost( "http://foo.com" );
  130. networkProxy.setPassword( "passwd" );
  131. networkProxy.setPort( 9090 );
  132. networkProxy.setUsername( "root" );
  133. networkProxy.setProtocol( "https" );
  134. return networkProxy;
  135. }
  136. }