ਟੈਸਟ HTTP ਬੇਨਤੀਆਂ ਲਈ Maven Surefire ਪ੍ਰੌਕਸੀ ਸੈਟਿੰਗਾਂ
Maven ਦਾ ਰਿਪੋਜ਼ਟਰੀ ਪ੍ਰੌਕਸੀ ਟੈਸਟ JVM ਦੇ ਅੰਦਰ ਕੋਈ ਵੀ HTTP ਕਲਾਇੰਟ ਕਨਫਿਗਰ ਨਹੀਂ ਕਰਦਾ। ਟੈਸਟ ਵੱਲੋਂ ਕੀਤੀ ਬੇਨਤੀ ਨੂੰ ਟਰੇਸ ਕਰੋ ਅਤੇ ਕਨਫਿਗਰ ਕਰੋ।
Maven ਦਾ ਰਿਪੋਜ਼ਟਰੀ ਪ੍ਰੌਕਸੀ ਟੈਸਟ ਵੱਲੋਂ ਕੀਤੀ HTTP ਬੇਨਤੀ ਕਨਫਿਗਰ ਕੀਤੇ ਬਿਨਾਂ ਨਿਰਭਰਤਾਵਾਂ ਲੈ ਸਕਦਾ ਹੈ। ਕਲਾਇੰਟ ਨੂੰ ਟੈਸਟ JVM ਵਿੱਚ ਕਨਫਿਗਰ ਕਰੋ।
ਜੇ ਉਹ ਕਲਾਇੰਟ Java ਦੀਆਂ HTTPS ਪ੍ਰੌਕਸੀ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦਾ ਸਤਿਕਾਰ ਕਰਦਾ ਹੈ, ਤਾਂ ਇਹ ਟੁਕੜਾ ਸੰਬੰਧਿਤ Surefire ਪਲੱਗਇਨ ਦੇ configuration ਤੱਤ ਦੇ ਅੰਦਰ ਰੱਖੋ:
<systemPropertyVariables>
<https.proxyHost>proxy.example</https.proxyHost>
<https.proxyPort>8080</https.proxyPort>
</systemPropertyVariables>ਉਦਾਹਰਨ ਐਂਡਪੌਇੰਟ ਬਦਲੋ। ਜਨਤਕ ਵਿਚੋਲਿਆਂ ਦੀ ਆਗਿਆ ਵਾਲੇ ਜਨਤਕ ਟਿਕਾਣਿਆਂ ਵਿਰੁੱਧ ਟੈਸਟਾਂ ਲਈ, HTTP ਪ੍ਰੌਕਸੀ ਸੂਚੀ ਹੋਸਟ ਅਤੇ ਪੋਰਟ ਉਮੀਦਵਾਰ ਦਿੰਦੀ ਹੈ। ਹੋਸਟ ਅਤੇ ਪੋਰਟ ਵੱਖਰੇ ਮੁੱਲ ਹਨ; ਟਿਕਾਣੇ ਦੀ ਸਕੀਮ ਅਤੇ ਲਾਇਬ੍ਰੇਰੀ ਨਾਲ ਮੇਲ ਖਾਂਦਾ ਵਿਸ਼ੇਸ਼ਤਾ ਪਰਿਵਾਰ ਚੁਣੋ। ਸਪੱਸ਼ਟ ਪ੍ਰੌਕਸੀ ਆਬਜੈਕਟ ਨਾਲ ਬਣੇ ਕਲਾਇੰਟ ਨੂੰ ਆਪਣਾ ਕਨਫਿਗਰੇਸ਼ਨ ਇੰਟਰਫੇਸ ਚਾਹੀਦਾ ਹੈ।
Surefire ਆਮ ਤੌਰ 'ਤੇ ਫੋਰਕ ਕੀਤੇ JVM ਵਿੱਚ ਟੈਸਟ ਚਲਾਉਂਦਾ ਹੈ। Maven ਸ਼ੁਰੂ ਕਰਨ ਵਾਲਾ ਹਰ ਵਿਕਲਪ ਉਸ ਪ੍ਰਕਿਰਿਆ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚਦਾ। ਸ਼ੁਰੂਆਤ ਪ੍ਰਤੀ ਸੰਵੇਦਨਸ਼ੀਲ ਸਿਸਟਮ-ਪ੍ਰੌਕਸੀ ਖੋਜ ਨੂੰ ਸ਼ੁਰੂ ਵੇਲੇ ਟੈਸਟ JVM 'ਤੇ ਆਪਣਾ ਵਿਕਲਪ ਚਾਹੀਦਾ ਹੈ। ਟੈਸਟ ਇੱਕੋ ਪ੍ਰਕਿਰਿਆ ਸਾਂਝੀ ਕਰਨ ਤੇ ਵੀ ਲਾਇਬ੍ਰੇਰੀ Java ਦੀਆਂ ਡਿਫਾਲਟ ਪ੍ਰੌਕਸੀ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰ ਸਕਦੀ ਹੈ।
ਅੰਦਰੂਨੀ ਸਿੱਧੇ ਟਿਕਾਣਿਆਂ ਨੂੰ ਢੁਕਵੇਂ ਬਾਈਪਾਸ ਨਿਯਮ ਨਾਲ ਢੱਕਿਆ ਰੱਖੋ, ਪ੍ਰੌਕਸੀ ਪ੍ਰਮਾਣੀਕਰਨ ਟਿਕਾਣਾ ਪ੍ਰਮਾਣੀਕਰਨ ਤੋਂ ਵੱਖ ਰੱਖੋ ਅਤੇ ਪ੍ਰਮਾਣ ਪੱਤਰ ਜਾਂਚ ਸਰਗਰਮ ਰੱਖੋ। ਫੋਰਕਿੰਗ ਬੰਦ ਕਰਨ ਨਾਲ ਟੈਸਟ ਕਿਵੇਂ ਚੱਲਦੇ ਹਨ ਬਦਲਦਾ ਹੈ; ਨਿਰਭਰਤਾ ਸ਼ੀਸ਼ਾ ਬਦਲਣ ਨਾਲ ਰਿਪੋਜ਼ਟਰੀ ਹੱਲ ਬਦਲਦਾ ਹੈ। ਦੋਵੇਂ ਕੋਈ ਗੁੰਮ ਟੈਸਟ-ਕਲਾਇੰਟ ਰਾਹ ਨਹੀਂ ਦਿੰਦੇ। ਸਾਰੀਆਂ ਸਿਸਟਮ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਕਾਪੀ ਕਰਨ ਨਾਲ ਭੇਤ ਵੀ ਖੁੱਲ੍ਹ ਸਕਦੇ ਹਨ।
ਬਾਕੀ ਅਸਫਲਤਾ ਲਈ ਟੈਸਟ JVM, HTTP ਲਾਇਬ੍ਰੇਰੀ, ਟਾਰਗਿਟ, ਚੁਣੀ ਪ੍ਰੌਕਸੀ ਅਤੇ ਪਹਿਲਾ ਅਸਫਲ ਪੜਾਅ ਦਰਜ ਕਰੋ। ਇਹ ਨਿਰੀਖਣ ਟੈਸਟ ਕਨਫਿਗਰੇਸ਼ਨ ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੇ ਹਨ ਅਤੇ ਕੰਮ ਕਰ ਰਹੇ ਰਿਪੋਜ਼ਟਰੀ ਡਾਊਨਲੋਡ ਸਮਝਣਯੋਗ ਰਹਿੰਦੇ ਹਨ।