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.

ProxyConnectorAdminTest.java 7.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166
  1. package org.apache.archiva.admin.repository.proxyconnector;
  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.ProxyConnector;
  21. import org.apache.archiva.admin.model.beans.RemoteRepository;
  22. import org.apache.archiva.admin.repository.AbstractRepositoryAdminTest;
  23. import org.apache.archiva.metadata.model.facets.AuditEvent;
  24. import org.junit.Test;
  25. import java.util.Arrays;
  26. /**
  27. * @author Olivier Lamy
  28. */
  29. public class ProxyConnectorAdminTest
  30. extends AbstractRepositoryAdminTest
  31. {
  32. @Test
  33. public void addAndDelete()
  34. throws Exception
  35. {
  36. mockAuditListener.clearEvents();
  37. assertEquals( "not proxyConnectors 1 " + proxyConnectorAdmin.getProxyConnectors(), 1,
  38. proxyConnectorAdmin.getProxyConnectors().size() );
  39. assertFalse( proxyConnectorAdmin.getProxyConnectors().isEmpty() );
  40. ProxyConnector proxyConnector = new ProxyConnector();
  41. proxyConnector.setSourceRepoId( "snapshots" );
  42. proxyConnector.setTargetRepoId( "central" );
  43. proxyConnectorAdmin.addProxyConnector( proxyConnector, getFakeAuditInformation() );
  44. assertFalse( proxyConnectorAdmin.getProxyConnectors().isEmpty() );
  45. assertEquals( 2, proxyConnectorAdmin.getProxyConnectors().size() );
  46. assertNotNull( proxyConnectorAdmin.getProxyConnector( "snapshots", "central" ) );
  47. proxyConnectorAdmin.deleteProxyConnector( proxyConnector, getFakeAuditInformation() );
  48. assertEquals( 1, proxyConnectorAdmin.getProxyConnectors().size() );
  49. assertFalse( proxyConnectorAdmin.getProxyConnectors().isEmpty() );
  50. assertEquals( 2, mockAuditListener.getAuditEvents().size() );
  51. assertEquals( AuditEvent.ADD_PROXY_CONNECTOR, mockAuditListener.getAuditEvents().get( 0 ).getAction() );
  52. assertEquals( "root", mockAuditListener.getAuditEvents().get( 0 ).getUserId() );
  53. assertEquals( "archiva-localhost", mockAuditListener.getAuditEvents().get( 0 ).getRemoteIP() );
  54. assertEquals( AuditEvent.DELETE_PROXY_CONNECTOR, mockAuditListener.getAuditEvents().get( 1 ).getAction() );
  55. assertEquals( "root", mockAuditListener.getAuditEvents().get( 1 ).getUserId() );
  56. assertNull( proxyConnectorAdmin.getProxyConnector( "snapshots", "central" ) );
  57. mockAuditListener.clearEvents();
  58. }
  59. @Test
  60. public void addAndUpdateAndDelete()
  61. throws Exception
  62. {
  63. mockAuditListener.clearEvents();
  64. RemoteRepository remoteRepository = getRemoteRepository( "test-new-one" );
  65. remoteRepositoryAdmin.addRemoteRepository( remoteRepository, getFakeAuditInformation() );
  66. assertEquals( "not proxyConnectors 1 " + proxyConnectorAdmin.getProxyConnectors(), 1,
  67. proxyConnectorAdmin.getProxyConnectors().size() );
  68. assertFalse( proxyConnectorAdmin.getProxyConnectors().isEmpty() );
  69. ProxyConnector proxyConnector = new ProxyConnector();
  70. proxyConnector.setSourceRepoId( "snapshots" );
  71. proxyConnector.setTargetRepoId( "central" );
  72. proxyConnector.setWhiteListPatterns( Arrays.asList( "foo", "bar" ) );
  73. proxyConnectorAdmin.addProxyConnector( proxyConnector, getFakeAuditInformation() );
  74. assertFalse( proxyConnectorAdmin.getProxyConnectors().isEmpty() );
  75. assertEquals( 2, proxyConnectorAdmin.getProxyConnectors().size() );
  76. assertNotNull( proxyConnectorAdmin.getProxyConnector( "snapshots", "central" ) );
  77. assertEquals( Arrays.asList( "foo", "bar" ),
  78. proxyConnectorAdmin.getProxyConnector( "snapshots", "central" ).getWhiteListPatterns() );
  79. proxyConnectorAdmin.deleteProxyConnector( proxyConnector, getFakeAuditInformation() );
  80. proxyConnector.setTargetRepoId( remoteRepository.getId() );
  81. proxyConnectorAdmin.addProxyConnector( proxyConnector, getFakeAuditInformation() );
  82. assertNull( proxyConnectorAdmin.getProxyConnector( "snapshots", "central" ) );
  83. assertNotNull( remoteRepository.getId(),
  84. proxyConnectorAdmin.getProxyConnector( "snapshots", remoteRepository.getId() ) );
  85. proxyConnectorAdmin.deleteProxyConnector( proxyConnector, getFakeAuditInformation() );
  86. assertNull( proxyConnectorAdmin.getProxyConnector( "snapshots", "central" ) );
  87. assertEquals( 1, proxyConnectorAdmin.getProxyConnectors().size() );
  88. assertFalse( proxyConnectorAdmin.getProxyConnectors().isEmpty() );
  89. assertEquals( 5, mockAuditListener.getAuditEvents().size() );
  90. assertEquals( AuditEvent.ADD_REMOTE_REPO, mockAuditListener.getAuditEvents().get( 0 ).getAction() );
  91. assertEquals( AuditEvent.ADD_PROXY_CONNECTOR, mockAuditListener.getAuditEvents().get( 1 ).getAction() );
  92. assertEquals( "root", mockAuditListener.getAuditEvents().get( 2 ).getUserId() );
  93. assertEquals( "archiva-localhost", mockAuditListener.getAuditEvents().get( 2 ).getRemoteIP() );
  94. assertEquals( AuditEvent.DELETE_PROXY_CONNECTOR, mockAuditListener.getAuditEvents().get( 2 ).getAction() );
  95. assertEquals( AuditEvent.ADD_PROXY_CONNECTOR, mockAuditListener.getAuditEvents().get( 3 ).getAction() );
  96. assertEquals( AuditEvent.DELETE_PROXY_CONNECTOR, mockAuditListener.getAuditEvents().get( 4 ).getAction() );
  97. assertEquals( "root", mockAuditListener.getAuditEvents().get( 4 ).getUserId() );
  98. remoteRepositoryAdmin.deleteRemoteRepository( remoteRepository.getId(), getFakeAuditInformation() );
  99. mockAuditListener.clearEvents();
  100. }
  101. @Test
  102. public void findProxyConnector()
  103. throws Exception
  104. {
  105. ProxyConnector proxyConnector = proxyConnectorAdmin.getProxyConnector( "internal", "central" );
  106. assertNotNull( proxyConnector );
  107. }
  108. @Test
  109. public void updateProxyConnector()
  110. throws Exception
  111. {
  112. mockAuditListener.clearEvents();
  113. ProxyConnector proxyConnector = proxyConnectorAdmin.getProxyConnector( "internal", "central" );
  114. assertNotNull( proxyConnector );
  115. proxyConnector.setDisabled( false );
  116. proxyConnectorAdmin.updateProxyConnector( proxyConnector, getFakeAuditInformation() );
  117. proxyConnector = proxyConnectorAdmin.getProxyConnector( "internal", "central" );
  118. assertFalse( proxyConnector.isDisabled() );
  119. proxyConnector.setDisabled( true );
  120. proxyConnectorAdmin.updateProxyConnector( proxyConnector, getFakeAuditInformation() );
  121. proxyConnector = proxyConnectorAdmin.getProxyConnector( "internal", "central" );
  122. assertTrue( proxyConnector.isDisabled() );
  123. proxyConnector.setOrder( 4 );
  124. proxyConnectorAdmin.updateProxyConnector( proxyConnector, getFakeAuditInformation() );
  125. proxyConnector = proxyConnectorAdmin.getProxyConnector( "internal", "central" );
  126. assertEquals( 4, proxyConnector.getOrder() );
  127. mockAuditListener.clearEvents();
  128. }
  129. }