Pregunta

Tengo algún código en una prueba de la siguiente manera:

    @Test
public void testRetrieveMongoDBFailUnkownHost()
{   
    //Set up test port and host on DSMongo
    MyMongo mongoTest = new MyMongo();
    mongoTest.setHost("failure");
    mongoTest.setPort("0");

    //attempt to make the connection
    try
    {
        mongoTest.attemptMongoConnection();
        assertTrue(false);
    }
    catch (Exception e) 
    {
        assertEquals("Incorrect error message received: " + e.getMessage(),"Error (3013) : Unknown database host.", e.getMessage());
    }

}

Y el método intento de MongoConnection () ejecuta el nuevo método Mongo (host, puerto) que debería fallar con una excepción de host desconocida. No está fallando en mi máquina (no importa qué cadena ponga en lugar de falla), pero está fallando en la máquina de mis colegas. Entonces, la prueba falla en mi máquina y pasa la suya (es decir, él tiene la excepción). ¡Cualquier idea porque estoy perplejo!

Gracias

Pablo

Editar: el código en el método de conexión de intento es

 */
public static void attemptMongoConnection() throws MYException 
{
    try {           
        singleMongo = new Mongo(getHost(), getPort());
        Logger.debug("Retrieved Mongo database from " + host);
    } catch (UnknownHostException e) {
        Logger.error("Unknown Host Exception", e);
        throw new MYException(MYMessage.MY_UNKNOWN_HOST);
    } catch (MongoException e) {
        Logger.error("Mongo error", e);
        throw new MYException(MYMessage.DS_MONGO_ERROR);
    }
}

Donde Singlemongo es una variable Mongo y el Gethost y Getport son los que hemos establecido (.e. Falla y 0).

¿Fue útil?

Solución

He descubierto que este era un problema con el DNS en alguna parte. Cuando lo ejecuté en casa (desde donde originalmente hice la publicación) falló y parece haber estado resolviendo el nombre de "falla", por lo que cuando ingresé algo como "localhost_123" funciona perfectamente.

He entrado en la oficina esta mañana y vuelve a funcionar con "fracaso". Haciendo más cavaciones, parece que mi enrutador o algo en casa está resolviendo "fracaso" en una dirección, es consciente de la cual no está presente en la red aquí en la oficina.

Gracias por todos los que miraron esto. Muy extraño.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top